Ich habe versucht, über FileReader
zu lernen und wollte es daher testen. Ich habe eine Klasse erstellt, deren Konstruktor eine Zeichenkette (Name der Datei) aufnimmt und eine Datei erstellt und dann liest und dann das erste Zeichen ausgibt, aber mein Code funktioniert nicht und zeigt Fehler an. Das ist mein Java-Code.Was ist falsch an diesem Code in Java, der FileReader verwendet?
package test_3;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Files {
public Files(String s) throws FileNotFoundException, IOException{
File f = new File(s);
FileReader fr = new FileReader(f);
System.out.println(fr.read());
}
public static void main(String args[]) throws FileNotFoundException, IOException{
Files myFile = new Files("input.txt");
}
}
Dies ist die Fehlerinformation
Exception in thread "main" java.io.FileNotFoundException: input.txt (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at test_3.Files.<init>(Files.java:11)
at test_3.Files.main(Files.java:16)
* Das System kann die angegebene Datei * nicht finden. Die Datei "input.txt" 'befindet sich also nicht im selben Verzeichnis wie die Klasse' Files'. Wo befindet sich die Datei? – Tunaki
Auch: wenn es funktioniert, sollten Sie 'fr' nach der Verwendung schließen - und Sie werden wahrscheinlich feststellen, dass die Ausgabe von' System.out.println (fr.read()); 'nicht was ist Sie erwarten (es wird eine ganze Zahl sein, kein Zeichen). –
@Tunaki Das Verzeichnis, in dem sich die Klasse Files befindet, hat nichts damit zu tun. – EJP