Java fileinputstream没有这样的文件或目录

Gua*_*ang 1 java file-io bufferedreader

我正在尝试学习如何使用文本文件中的逐行读取.即使我将txt文件放在同一个src中,控制台也始终将错误显示为 - No such file or directory.

public class ddd {

public static void main(String[] args) {
    FileInputStream fis = null;
    BufferedReader reader = null;
    try {
        fis = new FileInputStream("/dd/src/com/dd/input.txt");
        reader = new BufferedReader(new InputStreamReader(fis));
        System.out
                .println("Reading File line by line using BufferedReader");
        String line = reader.readLine();
        while (line != null) {
            System.out.println(line);
            line = reader.readLine();
        }
    } catch (Exception e) {
        System.out.println(e.getMessage());
    } finally {
        try {
            reader.close();
            fis.close();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

}在此输入图像描述

Sam*_*tep 5

问题可能出在这里:

"/dd/src/com/dd/input.txt"
Run Code Online (Sandbox Code Playgroud)

至少在Linux上,这将是一条绝对的道路.您可能想要的是相对于项目根目录的路径:

"src/com/dd/input.txt"
Run Code Online (Sandbox Code Playgroud)

或者,如果要将此文件打包到程序中,请使用资源流而不是raw FileInputStream:

InputStream is = ddd.class.getResourceAsStream("input.txt");
Run Code Online (Sandbox Code Playgroud)