如何在java中的特定序列之间提取值

时间:2014-06-10 09:29:14

标签: java byte bufferedreader

这是我正在阅读的FILE 如何从此文件中获取特定值。

我想获取数据

  

从2000到466字符开始,从4000到550(它可以   在那里或者它将是空的)和数据从6000到328   字符。

Line 1 : Starts from character 2000 to 466 characters
Line 2 : starts from character 4000 to 550 characters
Line 3 : starts from character 4000 to 550 characters
Line 4 : starts from character 6000 to 328 characters

忽略剩下的部分主要是文件头和文件页脚。

到目前为止我做的是

更新

StringBuilder sb = new StringBuilder();
newSize = in.readLine(buffer);
System.out.println("newsize-------------"+newSize);
while (newSize > 0) {
 String str = buffer.toString();
 sb.append(str);
 sb.append("\n");
 newSize = in.readLine(buffer);
}
String s = sb.toString();
/*
 * differentiating header,body and footer
 */
if(s.length() >0){

 String header = sb.toString().substring(0,466);
 System.out.println("header-------------------"+header);

 //unable to get body part
}

如何获取身体部位?

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成:

  • 在String变量中读取文件的全部内容。
  • 为您的特定字符索引调用substring方法

注意:您必须在调用substring方法之前检查字符串变量长度,以避免出现异常。

<强>更新

如果我是你,生病不使用固定值来获取子字符串值,但是使用indexOf方法来确定我应该为我的字符串提供的索引。

例如:

int startIndex= fileContent.indexOf("some unique starting characters");
int endIndex = fileContent.indexOf("some unique endingcharacters");