基本上,我正在尝试设置一个从文件中读取的扫描仪。我知道文件名是什么,但不知道它位于哪里。出于测试目的,我可能知道,但如果我的老师测试它,我将不知道该文件在他们设备上的位置。
奇怪的是,我什至无法在知道目录的情况下让它工作。 根据我的搜索,人们说当你只使用“testdata.txt”搜索文件时,它应该搜索你的项目所在的当前目录。我已经尝试过将我的测试文件放入其中的文件夹中我的项目已找到,但我仍然收到 FileNotFoundException。
// Make scanner and read jobs into array
String fileName = "testdata.txt";
Scanner sc = new Scanner(new File(fileName));
最佳答案
我建议使用FileInputStream
和BufferedReader
。根据我的经验,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);
这样您还可以逐行阅读并单独处理每一行。
关于java - 当您不知道文件所在位置时,如何读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518331/