FileInputStream错误Java

FileInputStream错误Java,java,fileinputstream,Java,Fileinputstream,我正在尝试读取一个名为KFormLList.txt的Java文件。它与此程序一起保存在默认包中,但当我尝试运行它时,会收到以下错误消息:error:KFormLList.txt系统无法找到指定的文件 我做错了什么?谢谢你的帮助 import java.io.*; public class VLOCGenerater { /** * @param args */ public static void main(String[] args) { try { //Rea

我正在尝试读取一个名为KFormLList.txt的Java文件。它与此程序一起保存在默认包中,但当我尝试运行它时,会收到以下错误消息:error:KFormLList.txt系统无法找到指定的文件

我做错了什么?谢谢你的帮助

import java.io.*;

public class VLOCGenerater {

/**
 * @param args
 */
public static void main(String[] args) {
    try {
        //Read the text file "KFormLList.txt"
        FileInputStream fis = new FileInputStream("KFormLList.txt");

        DataInputStream dis = new DataInputStream(fis);
        BufferedReader br = new BufferedReader(new InputStreamReader(dis));
        String strLine;
        int V = 0;
        int LOC = 0;

        while((strLine = br.readLine())!= null ){
            if (strLine.trim().length() != 0){
                System.out.println(strLine);
                V++;
                }
            else {
                LOC++;
            }
        }
        System.out.println("V = " + V);
        System.out.println("LOC = " + LOC);
        dis.close();
     }
     catch (Exception e){
     System.err.println("Error: " + e.getMessage());
    }

}

}

尝试将文本文件放在项目的根目录中

传入FileInputStream构造函数的name参数是文件系统中文件的路径名

路径名,无论是抽象的还是字符串形式的,都可以是绝对的 或者是亲戚。绝对路径名是完整的,因为没有其他路径名 需要信息才能找到它所表示的文件。A. 相反,相对路径名必须按照 从其他路径名获取的信息。默认情况下,中的类 java.io包始终根据 当前用户目录。此目录由系统属性命名 user.dir,通常是Java虚拟机所在的目录 计算机被调用

我假设您使用的是Eclipse,默认情况下Eclipse将user.dir设置为项目的根目录。在阅读其他材料时,Netbeans遵循相同的约定

这可以通过以下代码进行测试,这些代码应该输出到项目的路径:

System.out.println(System.getProperty("user.dir"));

将文件放在目录的根目录中可以让FileInputStream找到它。

尝试将文本文件放在项目的根目录中

传入FileInputStream构造函数的name参数是文件系统中文件的路径名

路径名,无论是抽象的还是字符串形式的,都可以是绝对的 或者是亲戚。绝对路径名是完整的,因为没有其他路径名 需要信息才能找到它所表示的文件。A. 相反,相对路径名必须按照 从其他路径名获取的信息。默认情况下,中的类 java.io包始终根据 当前用户目录。此目录由系统属性命名 user.dir,通常是Java虚拟机所在的目录 计算机被调用

我假设您使用的是Eclipse,默认情况下Eclipse将user.dir设置为项目的根目录。在阅读其他材料时,Netbeans遵循相同的约定

这可以通过以下代码进行测试,这些代码应该输出到项目的路径:

System.out.println(System.getProperty("user.dir"));

将文件放在目录的根目录中可以让FileInputStream找到它。

这样,程序希望该文件位于工作文件夹中,。i、 e.在哪里执行java。要从类路径默认包加载,请尝试getResourceAsStream。

这样,程序需要工作文件夹中的文件,。i、 e.在哪里执行java。要从类路径默认包加载,请尝试getResourceAsStream。

如果您使用的NetBeans可能与Eclipse类似,请确保您的文件位于NetBeansProject/YourProject中/


如果您已将程序编译为.jar文件,请将txt放在.jar所在的位置。

如果您使用的NetBeans可能与Eclipse类似,请确保您的文件位于NetBeansProject/YourProject中/


如果已将程序编译为.jar文件,请将txt放在.jar所在的位置。

将文件放在项目的根目录中,或者将文件的绝对路径作为FileInputStream的参数提供


希望对你有帮助

要么将文件放在项目的根目录中,要么将文件的绝对路径作为参数提供给FileInputStream


希望对你有帮助

文本文件是否与执行程序的文件夹位于同一文件夹中?是。文本文件KFormLList.txt与程序VLOCGenerater.java位于同一文件夹src中。文本文件是否与执行程序的文件夹相同?是。文本文件KFormLList.txt与程序VLOCGenerater.java位于同一文件夹src中。