Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 缓冲读取器文本文件?_Java_File Io - Fatal编程技术网

Java 缓冲读取器文本文件?

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") !=

这是我关于堆栈溢出的第一篇文章!我是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") != 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文件时才起作用。最好弄清楚当前目录的位置,或者将工作目录作为参数传递给程序。