【问题标题】:Java: No Such File Or Directory (Using Scanner Class)Java:没有这样的文件或目录(使用扫描程序类)
【发布时间】:2018-04-16 20:00:07
【问题描述】:

我正在尝试使用 Scanner 和 File 类从文件中读取:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class TextFileReaderV1
{
    public static void main(String[] args) throws IOException
    { 

        String token = "";
        File fileName = new File("data1.txt");
        Scanner inFile = new Scanner(fileName);

        while( inFile.hasNext() )
        {
            token = inFile.next( );  
            System.out.println(token); 
        }
        inFile.close();           

     }
}

但是,它是说“没有这样的文件或目录”。并给我“java.io.FileNotFoundException”

我正在使用 IntelliJ IDEA,文件位于我正在工作的当前目录中:src/data1.txt -> GetFile.java 旁边(当前代码)

完整的错误信息:

 Exception in thread "main" java.io.FileNotFoundException: data1.txt (No such file or directory)  

  at java.io.FileInputStream.open0(Native Method)  
  at java.io.FileInputStream.open(FileInputStream.java:195)  
  at java.io.FileInputStream.<init>(FileInputStream.java:138)  
  at java.util.Scanner.<init>(Scanner.java:611)  
  at GetFile.main(GetFile.java:19)  

**编辑:**已解决!!运行配置设置为项目目录,而不是src,所以我在参数中隐式添加了它:

File fileName = new File("src/data1.txt");

【问题讨论】:

  • 哪一行导致错误?
  • 运行配置中当前工作目录设置为什么?
  • 第 19 行导致错误,当前目录为 Documents/Code/Java/Files/FileHandling(项目名称)。在该目录中,还有 .idea、out 和 src 目录,我正在运行 src/GetFile.java @Code-Apprentice
  • 已修复!谢谢@Code-Apprentice

标签: java intellij-idea java.util.scanner readfile java-io


【解决方案1】:

运行配置设置为项目目录,而不是src,所以我在参数中隐式添加了它:

File fileName = new File("src/data1.txt");

【讨论】:

  • 将数据文件与源文件分开通常是个好主意。
  • 我建议学习如何将要打开的文件指定为命令行参数。这使您的程序更加灵活。
【解决方案2】:

尝试输入文件的完整路径。如果可行,您可以在那时完成或查看相对文件路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-25
    • 2018-01-28
    • 1970-01-01
    • 2016-04-29
    • 2020-08-05
    • 2017-12-14
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多