2016-09-21 52 views
-2

information.txt:爪哇 - 關閉文本文件中讀出信息

//FNAME LNAME ADDRESS CITY STATE OCCUPATION 

John Doe 1234 North Road New York New York Student 
Joe Tommy 5678 South Lane Buffalo New York Teacher 

我試圖用Java基礎上的位置讀取文件(文本文件是準確的),並獲取信息文件中的文本。

說我調用一個方法從文件中獲取一個人的地址,我只想要「1234 North Road」。但讓我們說我想要他們的名字,所以我打電話給另一種方法,會給「John Doe」。問題是,我不知道如何根據文件中的位置獲取信息。

我正在考慮一個BufferedReader,但我不知道具體做了什麼。所有的幫助表示讚賞。

+1

我無法讀取,因爲它是不可能知道每一場的開始和結束,所以這將是不可能的程序來讀取它。 – Andreas

+0

緩衝讀取器可以正常讀取文本文件,您可以一次讀取一行文件。但問題是你的文件如何分隔?它是製表符分隔還是字段是固定的字符長度?如果是空格分隔,則您的數據字段已有空格,因此存在問題。嘗試一些東西並更新具體問題的問題。 – user3745362

回答

0

最好的方法是在文本文件中添加一個分隔符。例。

John Doe | 1234 North Road |紐約紐約|學生

Joe Tommy | 5678 South Lane |布法羅紐約|教師

示例代碼:

 String dirFile = "C:\\myfile.txt"; 
     FileReader fr = new FileReader(dirFile); 
     BufferedReader br = new BufferedReader(fr); 
     String line = null; 
     while ((line = br.readLine()) != null) { 
       String[] sep = line.split("\\|"); 
       String name = sep[0].trim(); 
       String address = sep[1].trim(); 
       String cities = sep[2].trim(); 
       String category = sep[3].trim(); 
     }