2013-08-23 30 views
1

我试图访问数据文件以获取我的“测验”应用程序的问题和答案。 如果我从我的桌面上访问该文件,它工作正常。如果将文件拖放到我的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"; 
+0

你把文件放在netbeans的哪里?在包或它的项目根? – q99

+0

在包中的“测验” –

+0

尝试'src/quiz/Quiz.DAT' – q99

回答

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()); 
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(); 
     } 
    } 
} 
+0

不错的答案..... + 1 – Vinay