簡體   English   中英

讀取txt文件中的行[java]

[英]read lines in txt file [java]

我會盡量清楚,但如果我的問題不完美,請原諒我。 我有一個包含幾行數據的txt文件。 例:

123 ralph bose 20000 200 1 2

256 ed shane 30000 100 2 4

...

我需要按順序讀取每一行並將其傳遞回另一個類中的方法進行處理。 我知道如何使用StringTokenizer將每一行分解為元素。

但是,我不確定如何一次讀取一行,將元素傳回另一個類,然后,一旦處理完成,就讀取NEXT行。 我的類之間的方法合作工作正常(測試),但我如何一次讀取一行?

我正在考慮創建一個數組,其中每一行都是一個數組元素,但由於行數未知,我無法創建數組,因為我不知道它的最終長度。

謝謝

巴巴

編輯

粗略設置:

A級

end_of_file = f1.readRecord(emp);

        if(!end_of_file)
        { 
           slip.printPay(slipWrite);
        }

B級

public boolean readRecord(Employee pers) throws IOException {

        boolean eof = false ;

        String line = in.readLine() ; 

                ???

                }

文件名永遠不會傳遞

所以直到這里我可以閱讀第一行,但我想我需要一種方法來循環讀取它們在類之間來回逐個讀取它們。

棘手的...

有很多方法可以一次讀取整行; Scanner可能最簡單:

final Scanner s = new Scanner(yourFile);
while(s.hasNextLine()) {
    final String line = s.nextLine();
    YourClass.processLine(line);
}
void readLine(String fileName)
{
   java.io.BufferedReader br = null;
   try
   {
      br = new java.io.BufferedReader(new java.io.FileReader(fileName));
      String line = null;
      while(true)
      {
          line = br.readLine();
          if(line == null)
             break;
          // process your line here
      }
   }catch(Exception e){
   }finally{
     if(br != null)
      {
         try{br.close();}catch(Exception e){}
       }
   }
}

此外,如果你想拆分字符串...使用

字符串類split方法。 根據空間分裂...你可以做... line.split("\\\\s*")

希望它有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM