我在java中创建一个程序,它将读取一个文件并将每个单词放入一个数组中,这样我就可以在将每个单词排序为默认数组之后制作一个单词.我很清楚如何做到这一点,除了我的.txt文件没有被读取.我在src中有一个名为"input.txt"的文件,其中包含我正在编写的"anagram.java"程序,但是当代码为文件条目提供时,在输入文件名"input.txt"时,我的代码说文件不存在我得到这个:
Enter file name:
input.txt
Exception in thread "main" java.io.FileNotFoundException: input.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at anagram.main(anagram.java:23)
Java Result: 1
BUILD SUCCESSFUL (total time: 6 seconds)
Run Code Online (Sandbox Code Playgroud)
这是乱七八糟的行的代码:
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter file name: ");
String fileName = br.readLine();
File file = new File(fileName);
if(file.length() == 0)
{
System.out.println("File is empty");
System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
显然输入"input.txt"的信息还不够,我不确定.我删除了
if(file.length() == 0)
{
System.out.println("File is empty");
System.exit(1);
}
Run Code Online (Sandbox Code Playgroud)
为了得到我上面说的错误,这就是我发现它甚至没有用anagram.java prgm识别src中的文件.
我的代码出了什么问题?为什么不读取文件或说不存在?
Jon*_*eet 18
我敢说文件在src目录中 - 但我怀疑这不是程序的当前工作目录.要检查这一点,请运行以下代码:
System.out.println(new File(".").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)
选项:
Class.getResourceAsStream或类似请注意,这与此无关BufferedReader- 您正在阅读文本System.in,没有任何问题.