Ich habe diesen Fehler, wenn ich die Datei zu lesen versuchen:Sonderbare Ausnahme in thread "main" java.io.FileNotFoundException I/O Java
Exception in thread "main" java.io.FileNotFoundException: \src\product.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at dao.Inventory.readFile(Inventory.java:30)
at view.InventoryView.init(InventoryView.java:33)
at view.InventoryView.<init>(InventoryView.java:21)
at view.InventoryView.main(InventoryView.java:211)
Aber die Sache ist, habe ich die product.txt in meinem src-Ordner.
Mein Code ist folgende:
public void readFile() throws IOException {
// input file must be supplied in the first argument
InputStream istream;
File inputFile = new File("\\src\\product.txt");
istream = new FileInputStream(inputFile);
BufferedReader lineReader;
lineReader = new BufferedReader(new InputStreamReader(istream));
String line;
while ((line = lineReader.readLine()) != null) {
StringTokenizer tokens = new StringTokenizer(line, "\t");
// String tmp = tokens.nextToken();
// System.out.println("token " + tmp);
ActionProduct p = new ActionProduct();
prodlist.add(p);
String category = p.getCategory();
category = tokens.nextToken();
System.out.println("got category " +category);
int item = p.getItem();
item = Integer.parseInt(tokens.nextToken());
String name = p.getName();
System.out.println("got name " +name);
double price = p.getPrice();
price = Double.parseDouble(tokens.nextToken());
int units = p.getUnits();
units = Integer.parseInt(tokens.nextToken());
}
}
Ich glaube nicht, irgendetwas mit meinem Code falsch ist. Außerdem habe ich einen ähnlichen Post über eine versteckte Erweiterung wie FILE.TXT.TXT gesehen, wie würdest du eine versteckte Erweiterung in MacOSX zeigen? Irgendwelche Vorschläge? (Wäre neben dem Problem der versteckten Erweiterung noch ein anderes Problem?)
sollten Sie haben 'src \\ product.txt' als Pfad, wenn die Dateien in' src' Ordner ist. –
Versuchen Sie 'File inputFile = new File (" ./src/product.txt ");' stattdessen. –
Oder Datei inputFile = neue Datei ("src \\ product.txt"); – nikhil