簡體   English   中英

如何在Java中一行一行地讀取文本文件,並分別分隔每一行的內容?

[英]How do you read a text file, line by line, and separate contents of each line in Java?

我想知道如何去讀取文件,掃描每一行,但是將每一行的內容分成Char變量和Double變量。

例:

假設我們編寫了一個打開文本文件“ Sample.txt”的代碼。 要閱讀第一行,請使用以下代碼:

 while(fin.hasNext())
         {

            try{

                inType2 = fin.next().charAt(0);

                inAmount2 = fin.nextDouble();
           }

這段代碼基本上說,如果有下一行,它將把下一個字符放入inType2中,並將下一個Double放入inAmount2中。

如果我的txt文件編寫如下:

D    100.00
E    54.54
T    90.99

我將如何讀取每一行,將“ D”放入Char變量,並將相應的Double或“ 100.00”(在此示例中)放入其Double變量。

我覺得我編寫的代碼讀取以下txt文件:

D
100.00
E
54.54
T
90.99

如果可以的話,請為我提供一種有效的方式來讀取文件中的行並根據變量類型進行分隔,我將不勝感激。 Sample.txt始終將char放在首位,並將其放在第二位。

-曼妮

使用BufferedReader讀取行,然后在空白處分割。

while((line=br.readLine())!=null){
    String[] arry = line.split("\\s+");
    inType2 = arry[0];
    inAmount2 = arry[1];
}

您可以按whitespace分隔,

    Scanner scanner = new Scanner(new File("."));
    while (scanner.hasNext()) {

        //If both on different lines
        c = scanner.next().charAt(0);
        d = scanner.nextDouble();

        //if both on same line
        String s = scanner.next();
        String[] splits = s.split("\\s+");
        if (splits.length == 2) {
            c = splits[0].charAt(0);
            d = Double.parseDouble(splits[1]);
        }
    }
    scanner.close();

暫無
暫無

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

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