java - 在Java中读取文件,找不到该文件

标签 java file

我编写了以下代码来用 Java 读取 txt:

public static void main(String[] args) throws FileNotFoundException, IOException {
    // TODO code application logic here
    String name;
    String line;
    System.out.println("Input file name");
    Scanner inp=new Scanner(System.in);
    name=inp.nextLine();  
    FileReader file=new FileReader(name);
    BufferedReader br=new BufferedReader(new FileReader(name));
    while((line=br.readLine())!=null){
        System.out.println(br.readLine());
    }
    br.close();
}

我有一个txt文件,它位于我的java代码的同一文件夹下,它的名称是data.txt(其中包含逐行的数字列表),我遇到的问题是,当我运行这个文件时,我得到了以下消息:

Exception in thread "main" java.io.FileNotFoundException: data.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:97)

哪里错了?另外,如果文件不存在,我如何用 try catch block 包围它?

我已经放置了System.out.println(new File(name).getAbsoluteFile);并且它显示了通过data.txt的所有路径,但我想默认指向我当前的文件夹;我应该使用扫描仪吗?

最佳答案

如果您想使用相对文件名并且从 netbeans 或 eclipse 等 IDE 运行,则文件结构应如下所示

ProjectRoot
         file.txt
         src
         build

file.txt 是您正在使用的相对路径。如果文件路径中没有指定其他目录,IDE 将首先在项目根目录中搜索该文件。

关于java - 在Java中读取文件,找不到该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332755/

相关文章:

c - 如何将文件中的单词保存到数组中?

java - JPA CriteriaBuilder 和子字符串

java - 在 Java 虚拟机中处理信号

java - 数组中最大数字的位置

java - Java中转到文件行号

c - 在文本文件中插入 400 个数字

php - 使用php追加到文本文件的下一行

JavaFX - 如何在锚定 Pane 中添加容器

java - 如何使用 jUnit 测试使用单例的类?

python - 读取大型文本文件时即时计算 md5