0

我想知道如何读取文件并扫描每一行,但将每一行的内容分成一个 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,然后是 double。

-曼尼

4

2 回答 2

1

用于BufferedReader读取行,然后在空白处拆分。

while((line=br.readLine())!=null){
    String[] arry = line.split("\\s+");
    inType2 = arry[0];
    inAmount2 = arry[1];
}
于 2015-10-14T02:17:59.213 回答
0

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();
于 2015-10-14T02:33:51.307 回答