java - 在文本文件中指定特定数量的字符,阅读

  显示原文与译文双语对照的内容
0 0

::A 新手::

我有一个文本文件有文本

COM22: 15: 55: 09 20.09.2013 VOLT=224

我想读这一行,把它分开

15: 55: 09 20.09.2013

然后

Volt=224

这里时我使用 br.readLine() 读取整行。"。"。有什么方法可以限制 br.readline() 从某些编号的chracter开始( 比如 ) 。 4th 个字符),并以一定的格式结束( 比如 。 8 )?

时间: 原作者:

0 0

不要试图限制字符,而是像下面这样读整行


String line = br.readLine();

从我看到的注释中,你想解析


<COM22: 15:55:09 20.09.2013>VOLT=224

分成几个部分。 第一部分是


int leftAngleIdx = line.indexOf('<');
int rightAngleIdx = line.indexOf('>');

//Some error handling code if left> = right or if any of them were -1.


String comAndDate = line.substring(leftAngleIdx + 1, rightAngleIdx);//substring operates on half open intervals. 

//Similarly using substring operations. Extract the date part from comAndDate

String volt = line.substring(rightAngleIdx + 1);//After '>'

你也可以使用 正规表达式,也许以后。

原作者:
0 0

最简单的方法是,我想将使用 正规表达式 ( 如果你不知道 正规表达式 是什么,请在这里阅读它( ) 。) 。 这里有一个 正规表达式 可以帮助你的通用( 因为使用像 4和 8这样的幻数往往不好) -

 
^.*?s([d:. ]*)(.*$)

 

在这种情况下捕获组 1将为 15:55:09 20.09.2013,组 2将为 Volt=224

原作者:
0 0

有什么方法可以限制 br.readline() 从某些编号字符 [etcetera ] 开始

没有

如果你要使用 BufferedReader.readLine(),你需要使用 正规表达式 或者某些东西来分解或者分析组件中的行。

或者,可以使用 Scanner 类及其 next... 方法来读取各个字段。

原作者:
...