如何从Java中的Main类路径读取文件?

时间:2017-11-21 02:09:36

标签: java file java.util.scanner java-io

在我的 Main.java 文件的同一目录中,我有一个名为 database 的包/文件夹,在数据库包中我有一个名为的文件DATA.TXT

这是我的 Main.java 的代码,但它抛出了这个错误:

  

java:exception java.io.FileNotFoundException

如何从相关文件中获取文件?我习惯于网络开发,通常还有一些。点像" ./ folder / file.txt" 有效。

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

    public class Main {

        public static void main(String[] args) {

            readFile();

        }

        public static void readFile() {

            File file = new File("./database/Data.txt");
            Scanner scanner = new Scanner(file);

            try {

                while (scanner.hasNextLine()) {
                    int i = scanner.nextInt();
                    System.out.println(i);
                }
                scanner.close();
            }
            catch (FileNotFoundException e) {
                e.printStackTrace();
            }

        }

    }

1 个答案:

答案 0 :(得分:0)

您没有导入FileNotFoundException类。另外,scanner语句抛出应该在try里面的异常。解决方案如下。

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

public class Main {

    public static void main(String[] args) {

        readFile();

    }

    public static void readFile() {

        File file = new File("database/Data.txt");

        try {
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                int i = scanner.nextInt();
                System.out.println(i);
            }
            scanner.close();
        }catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }

}

仅检查这些内容是否可以使用扫描仪读取。内容有正确的int。否则会抛出java.util.InputMismatchException。