读取文件中以“:”分隔的数字 - Java

时间:2013-11-17 18:58:14

标签: java eclipse

我在阅读从java中的txt文件中用“:”分隔的一些数字时遇到了一些问题。

这是我到目前为止所做的:

    public static void main(String []args) {
    Scanner keyb = new Scanner(System.in);

    System.out.print("Enter input file name: ");
    String inputFile = keyb.nextLine();

    System.out.print("Enter output file name: ");
    String outputFile = keyb.nextLine();

    File file = new File(inputFile);

    try {

        Scanner sc = new Scanner (file);

        while (sc.hasNextLine()) {

            System.out.println(sc.nextLine());

        }


    } catch(FileNotFoundException e) {

        System.out.println("File not found!");

    }

}

文件numbers.txt

12.1:15.42
0.23:0.25
-9.2:-8.1
13.5:15.9
1024:1023.9
1.0e-3:1.0e-4
15.92:-9.35
18.26:6.4
55.931:55.930
256:512

我不明白为什么它没有被阅读...任何帮助将不胜感激!谢谢!

3 个答案:

答案 0 :(得分:0)

我尝试测试你的程序并得到正确的输出。看看

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

    public class Read {
        public static void main(String[] args) {
            File file = new File("numbers.txt");

            try {

                @SuppressWarnings("resource")
                Scanner sc = new Scanner(file);

                while (sc.hasNextLine()) {

                    System.out.println(sc.nextLine());

                }

            } catch (FileNotFoundException e) {

                System.out.println("File not found!");

            }
        }

    }

输出:

12.1:15.42
0.23:0.25
-9.2:-8.1
13.5:15.9
1024:1023.9
1.0e-3:1.0e-4
15.92:-9.35
18.26:6.4
55.931:55.930
256:512

答案 1 :(得分:0)

我建议使用java.util.BufferedReader来读取文件。与Scanner类相比,通常易于使用。

    ...
    BufferedReader br = new BufferedReader(new FileReader(inputFile));

    String inLine; //Buffer used to store the current line
    while ((inLine = br.readLine()) != null) //keep reading until we reach the end of file
    {
        System.out.println(inLine);
    }

教程:Java >> BufferedReader

答案 2 :(得分:0)

在字符串类中使用split方法并将输出等同于一个数组,如果它们都与您在上面指定的相同字符完全分开,则每个索引将具有不同的数字:http://docs.oracle.com/javase/7/docs/api/java/lang/String.htmlhttp://www.coderanch.com/t/385246/java/java/split-method-String-API可能有所帮助,但我强烈要求您下载所有API