在netbeans上找不到文件

时间:2013-08-23 08:51:39

标签: java netbeans

我正在尝试访问数据文件以获取我的“测验”应用程序的问题和答案。 如果我从桌面上的文件访问该文件,它可以正常工作。如果我将文件拖放到我的netbeans中,我似乎无法访问它。 该文件与我的其他类一起在“测验”包中。 这是有效的代码,但我想使用netbeans文件。

String fileName = "C:/Users/Michael/Desktop/QUIZ.DAT";
 try {
        //Make fileReader object to read the file
        FileReader file = new FileReader(new File(fileName));
        BufferedReader fileStream = new BufferedReader(file);
    } catch (Exception e) {
        System.out.println("File not found");
    }

要尝试访问netbeans上的文件,我使用它但无法找到它。

String fileName = "quiz/Quiz.DAT";

3 个答案:

答案 0 :(得分:3)

试试这个,其中MyClass是类名。我假设quiz.dat文件在类的同一个包中。

InputStream f = MyClass.class.getResourceAsStream("QUIZ.DAT");
BufferedReader bReader = new BufferedReader(new InputStreamReader(f));
StringBuffer sbfFileContents = new StringBuffer();
String line = null;
while ((line = bReader.readLine()) != null) {
    sbfFileContents.append(line);
}
System.out.println(sbfFileContents.toString());

答案 1 :(得分:2)

JJPA提供了正确的代码。但是,让我更好地加强它。

Project
   com.io
      test.txt
   com.root
      AccessFile.java

这是我的程序结构。我想从包io访问文件所以这是代码。

package com.root;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class AccessFile {
    public static void main(String args[]){
        try{
            InputStream f = AccessFile.class.getResourceAsStream("../io/test.txt");
            BufferedReader bReader = new BufferedReader(new InputStreamReader(f));
            StringBuffer sbfFileContents = new StringBuffer();
            String line = null;
            while ((line = bReader.readLine()) != null) {
                sbfFileContents.append(line);
            }
            bReader.close();
            f.close();
            System.out.println(sbfFileContents.toString());
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

答案 2 :(得分:0)

如果您正在尝试读取JAVA项目中的文件并且netbeans无法找到它,请将该文件放在项目的根目录中,它应该能够找到它。