0

检查下面的评论。

我在用...

Scanner input = new Scanner("rates.txt");

应该用...

Scanner input = new Scanner(new File("rates.txt"));
4

3 回答 3

0

使用阅读器而不是扫描仪。

BufferedReader br = new BufferedReader(new FileReader("rates.txt"));
String line;
while ((line = br.readLine()) != null) {
    // parse line here . . .
}
于 2014-02-20T06:26:31.163 回答
0

当您将 String 传递给 Scanner 构造函数时,您是在告诉它输入将来​​自 String 本身。您应该使用 File 对象或等效的东西。这是:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class TestFile
{
    public static void main(String[] args)
    {
        Scanner input = null;

        try
        {
            input = new Scanner(new File("rates.txt"));

        }
        catch (IOException ioe)
        {
           ioe.printStackTrace();

        }

        int numRows    = 7;
        int numColumns = 7;

        Double[][] ratesArray = new Double[numRows][numColumns];

        while(input.hasNext())
        {
            for(int i = 0; i < ratesArray.length; i++)
            {
                for(int j = 0; j < ratesArray[i].length; j++)
                {
                    ratesArray[i][j] = input.nextDouble();
                    System.out.print(ratesArray[i][j] + "\t");

                } // for j

                System.out.print("\n");

            } // for i

        } // while

        input.close();

    } // main()

} // class TestFile
于 2014-02-20T06:28:53.243 回答
0

更改如下:在您的代码中

       Scanner input = new Scanner("rates.txt");

应该:

       Scanner input = new Scanner(new File("rates.txt"));

将其保留在try-catch中或在 main 方法中添加throws Exception 。

如果找不到文件,还要给出文件的完整路径。

于 2014-02-20T06:20:37.313 回答