不知道文件将位于何处时如何读取文件?

时间:2019-06-09 20:58:02

标签: java file java.util.scanner

基本上,我正在尝试设置一个从文件读取的扫描仪。我知道文件名是什么,但我不知道它将位于何处。出于测试目的,我可能知道,但是如果我的老师对其进行测试,我将不知道该文件在其设备上的位置。

奇怪的是,我什至无法通过了解目录来使其正常工作。 根据我的搜索结果,人们说,当您仅使用“ testdata.txt”搜索文件时,它应该搜索项目所在的当前目录。我已经通过将测试文件放入其中的文件夹来进行了尝试。我的项目位于,但是我仍然收到FileNotFoundException。

// Make scanner and read jobs into array
String fileName = "testdata.txt";
Scanner sc = new Scanner(new File(fileName));

1 个答案:

答案 0 :(得分:1)

我建议使用FileInputStreamBufferedReader。以我的经验,Scanner类有点奇怪。如果您仅从文件中读取内容,则可以尝试执行以下操作:

File file = new File("path.txt");

List<String> jobs = new ArrayList<String>();

try (BufferedReader reader = new BufferedReader(new FileReader(file)) {
    String line = "";

    while ((line = reader.readLine()) != null) {
        jobs.add(line);
    }
} catch (IOException e) {
    // handle errors
}

String[] jobArr = new String[jobs.size()];
jobs.toArray(jobArr);

这样,您还可以逐行阅读并分别处理每行。