Java 缓冲读取器文本文件?
这是我关于堆栈溢出的第一篇文章!我是Java新手,最近一直在试验用于文件I/O的Java缓冲读取器。我遇到了一个例外 线程“main”java.io.FileNotFoundException中的异常 以下是我的代码示例:Java 缓冲读取器文本文件?,java,file-io,Java,File Io,这是我关于堆栈溢出的第一篇文章!我是Java新手,最近一直在试验用于文件I/O的Java缓冲读取器。我遇到了一个例外 线程“main”java.io.FileNotFoundException中的异常 以下是我的代码示例: System.out.println("Please input an existing filename, otherwise type in 0;"); fileName = input.nextLine(); if(fileName.compareTo("0") !=
System.out.println("Please input an existing filename, otherwise type in 0;");
fileName = input.nextLine();
if(fileName.compareTo("0") != 0)
{
BufferedReader inFile = new BufferedReader(new FileReader( fileName ) );
firstName = inFile.readLine();
lastName = inFile.readLine();
phoneNumber = inFile.readLine();
while (phoneNumber != null) {
c1[index] = new Contact(firstName,lastName,phoneNumber);
index++;
firstName = inFile.readLine();
lastName = inFile.readLine();
phoneNumber = inFile.readLine();
}
inFile.close();
}
我将txt文件放在了.class和.java文件所在的位置(我使用的是Netbeans IDE)。
我输入“namelist.txt”作为文件名字符串的输入
我是否将其放置在错误的区域或缺少什么内容?使用getClass().getResourceAsStream(文件名)
-这将解析相对于当前类位置(在类路径内)的文件名。因此,您将获得一个InputStream
。然后将其包装在InputStreamReader
中,指定所需的编码
当您传递文件名时,它将在您最不想要的默认目录中查找。使用getClass().getResourceAsStream(文件名)
-这将解析相对于当前类位置(在类路径内)的文件名。因此,您将获得一个InputStream
。然后将其包装在InputStreamReader
中,指定所需的编码
当你传递一个文件名时,它将在你最不想要的默认目录中查找。Java找不到你在
文件名中指定的文件
fileName = input.nextLine();
在fileName=input.nextLine()之后添加以下内容代码>:
要打印出java试图定位文件的位置,java无法找到您在文件名中指定的文件
fileName = input.nextLine();
在fileName=input.nextLine()之后添加以下内容代码>:
要打印出java试图定位文件的位置,请键入namelist.txt的完整路径作为输入。您需要将文件放在applicationtype的“工作目录”中,以namelist.txt的完整路径作为输入。您需要将文件放在应用程序的“工作目录”中。不过,请小心使用这种方法,因为它仅在类文件未打包到jar文件中时才起作用。你最好弄清楚当前目录在哪里,或者让工作目录作为程序的参数传递给你。不过要小心使用这种方法,因为它只在类文件没有打包成jar文件时才起作用。最好弄清楚当前目录的位置,或者将工作目录作为参数传递给程序。