问题
so the problem is that I am having exception thrown each time I try to load the code below on NetBeans or Eclips, but when I try to run it thru TextMate everything works fine!
I tried to put the absolute address, changed the text file etc.. didn't help!
Can someone help me or tell why it won't run with IDE?
Thanks
void loadFile() {
try {
list = new LinkedList<Patient>();
FileReader read = new FileReader("a.txt");
Scanner scan = new Scanner(read);
while (scan.hasNextLine()) {
String Line = scan.nextLine();
String[] subArray = new String[5];
subArray = Line.split(",");
int a = Integer.parseInt(subArray[4]);
list.add(new Patient(Integer.parseInt(subArray[0]), subArray[1], subArray[2], subArray[3], a));
}
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "The file does not exist!" + "\nProgram is terminating.", "File Not Found", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
cap = list.size();
search_names = new int[cap];
for (int i = 0; i < list.size(); i++) {
search_names[i] = i;
}
setNames(search_names);
}//end loadFile
Debug log:
Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar
Have no file for /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar
Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar
Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar
}
回答1:
In netbeans the default working directory is always the root folder, i mean the folder which contains the folders which name "src", "build" etc. Place the file along with these folders and it will do the trick.
回答2:
Here is step by Step procedure in NetBeans IDE 7.0.1
- Click on File menu.
- Click on Project Properties.
- In the categories, select Run.
- In main class you select your current java file.
- In Arguments select the file you want to read for e.g. abc.txt or abc.java
- And in Working Directory write down the path of folder in which this abc.txt or abc.java lies.
- Click OK to close Project Properties.
- While running your program don't forget to select your project as Main Project.
- Then click F^ on keyboard. i.e. You have to raun your main project instead of just running your current java file. That's it....enjoy!!!!
回答3:
Finally found the solution
In eclipse you should put the target file in project folder. Guess same applies to NetBeans.
I had my target file in "src" folder (where the actual code files were). In fact i had to just change it to upper folder where the project folder is.
Easy and simple.
回答4:
Probably you have different "working directories" in you different setups. You can check which directory you are in by printing it like this:
System.out.println(new File(".").getAbsoluteFile());
In eclipse you can set set up the working directory in the run configurations, arguments tab.
回答5:
Try BufferedReader?
EDIT: Edited to show example more closely to your code. I got excepption when using File Reader. But was able to .println with BufferedReader. I did not use Scanner.
EDIT2: I was also able to get your code to work. With Scanner etc(When using full path) (Example: FileReader read = new FileReader(""C:\\myfolder\\folder\\a.txt". So hmmm.
try {
list = new LinkedList<Patient>();
BufferedReader scan = new BufferedReader(new FileReader("C:\\a.txt"));
String lines;
try {
// Scanner scan = new Scanner(read);
while ((lines = scan.readLine()) != null) {
//I just printed lines you will do your stuff here
System.out.println(lines);
}
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "The file does not exist!" + "\nProgram is terminating.", "File Not Found", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
回答6:
right click on your text file select properties and copy the path and paste it in the place where you have entered your file name
回答7:
lets say you wanna add test.txt in netbeans
if your project in C:\myProject put the text file inside C:\myProject file directly not in the C:\myProject\src . then use:
File file = new File("test.txt");
Scanner in = new Scanner(file);
OR
Scanner input = new Scanner(new File("test.txt"));
来源:https://stackoverflow.com/questions/7091898/netbeans-filereader-filenotfound-exception-when-the-file-is-in-folder