我正在让我的程序读取一个 .txt 文件,我不想使用绝对文件名,因为它依赖于机器,我只想使用相对文件名。我不知道如何让它做到这一点。这是我正在谈论的程序的一部分:
private List<String> readFile() {
List<String> wordsList = new ArrayList<>();
try {
String fileName = "C:/Users/Phil/Documents/FourLetterWords.txt";
File fourLetterWords = new File(fileName);
Scanner in = new Scanner(fourLetterWords);
while (in.hasNextLine()) {
String line = in.nextLine();
if (line!=null && !line.isEmpty()) {
wordsList.add(line);
}
}
}
catch (FileNotFoundException ex) {
System.out.println("File not found.");
}
return wordsList ;
}
如果我要做到这一点:
"C:/FourLetterWords.txt"
然后我的 catch 异常出现并说找不到文件。但我真的只想用...
"FourLetterWords.txt"
最佳答案
改变这个
String fileName = "C:/Users/Phil/Documents/FourLetterWords.txt";
类似于
File f = new File(System.getProperty("user.home"),
"Documents/FourLetterWords.txt");
这将在 Java 支持的每个平台上获取“user.home”,然后将“Documents/FourLetterWords.txt”附加到该路径。
关于java - 我怎样才能只使用相对文件名而不是绝对文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27573312/