2014-06-10 32 views
-3

這是我正在閱讀的FILE 如何從此文件獲取特定值。如何提取java中特定序列之間的值

我想要得到的數據

形式開始2000年至466字符,開始從4000到550(它可以 不見ellse它將是空的)和數據從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 

而忽略其餘部分主要是文件頭和文件尾。

我做了什麼至今

UPDATE

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 
} 

如何得到身體的一部分?

+0

downvoters請評論。所以我可以提高我的問題 –

回答

1

你可以做到這一點:

  • 讀取文件的一個字符串變量的全部內容。
  • 呼叫substring方法爲特定字符的索引

注:你必須調用substring方法,以避免出界異常前檢查字符串變量的長度。

UPDATE

如果我是你,生病不使用固定的值來獲得子字符串值,但生病使用indexOf方法來確定我要分我的字符串的索引。

例如:

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

是薩拉赫我能夠處理頭part.But顯示爲空的身體部分,即從字符「4000起「到550字節。但是當我從4000中查看文件時,它開始顯示1到550.該文件與第1行標題 - 0-466,第2行主體 - 0-550和第3行頁腳 - 0-328 –

+0

見我的更新,希望對你有所幫助。 – Salah

+0

Filecontent只包含唯一的開始索引no end.U可以在輸入中進行驗證。但它可以像FileContentcontains(2000)那樣獲取數據直到466個字符,如果包含(4000)獲取數據直到550 [可以是零個或多個]如果包含(6000)獲取數據,直到328。2000和6000是標題 –