【问题标题】:File Not Found: Java I/O Issue未找到文件:Java I/O 问题
【发布时间】:2013-09-02 23:03:19
【问题描述】:

我无法让我的文件在我的程序中读取...为什么程序找不到文件?我没有正确导入文件吗?

非常感谢任何反馈!谢谢你

import java.util.Scanner;
import java.io.*;

public class ArraysIO {

    public static void main(String[] args) throws IOException {

        //local variables
        //create array
        String[] data = new String[100];
        //set up counter
        int count = 0;

        // Create File and Scanner objects inside main
        File file = new File("sampledata1.txt");
        Scanner inputFile = new Scanner(file);

        // Read in the names from the file
        while (inputFile.hasNext() && count < data.length) {
           data[count] = inputFile.nextLine();
           count++;
        }

        // Remember to close the file ASAP
        inputFile.close();


        // TODO Auto-generated method stub

    }

}

【问题讨论】:

  • 您从哪个目录运行您的应用程序以及您尝试打开的文件位于何处?
  • 你能包括你得到的堆栈跟踪吗?
  • 在Scanner 之前添加System.out.println(file.getAbsolutePath()); 并查看您要访问的文件。你会发现,那个文件不存在。

标签: java


【解决方案1】:
File file = new File("sampledata1.txt");

要求 java 引用位于当前目录中名为 sampledata1.txt 的文件

现在当前目录通常是您启动程序的位置,如果您想知道当前工作目录指向的位置,可以通过

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

【讨论】:

  • 我最终将文件名更改为文件位置,它似乎正在运行...我使用 C:/etc/etc/etc...
  • 对我来说听起来像是系统依赖路径
  • hmm...好吧,那么我将如何更改它以便运行该程序的任何人都能够访问该文件?
  • @D_Toy 如果您在指向一个工作区的 Eclipse 环境中执行程序,它将起作用。如果您只是将代码移动到不同包中的新类,那么至少您更新路径将不起作用,现在如果您甚至更改操作系统,例如Mac 或 Linux,在您相应地更新路径之前,代码不会更改,因此您没有解决问题而是绕过它。
【解决方案2】:

似乎我没有将文件放在正确的位置,并且我没有打印扫描仪。这是我拥有的工作代码!谢谢大家的帮助!

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.Scanner;

    public class ArraysIO2 {

        public static void main(String[] args) throws FileNotFoundException {


            // Create File and Scanner objects inside main
            File file = new File("sampledata1.txt");
            Scanner inputFile = new Scanner(file);


            for (int i = 0; i < 10; i++) {
                System.out.println(inputFile.next());
            }
            inputFile.close();
        }


    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    相关资源
    最近更新 更多