Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
kann mir vielleicht jemand bei folgendem Code erläutern, der eine Datei "personFile.txt" Zeile um Zeile auslesen soll, wie hier die Datei angegeben werden muss? Also ist ein Pfad notwendig oder muss die Datei im src Verzeichnis der .java Datei sein?
Java:
package personFiles;
import java.io.*;
public class PersonFileReader {
/**
* @param args
*/
public static void main(String[] args) {
try {
//worauf wird hier genau zugegriffen? oder ist der code grundsätzlich blödsinn?
File personFile = new File("personFile.txt");
FileReader personFileReader = new FileReader(personFile);
BufferedReader reader = new BufferedReader(personFileReader);
String line = null;
//bei der while schleife bekomme ich den fehler: "the left-hand side of an assignment must be a //"variable
while ((line = reader.readLine()) =! null){
System.out.println(line);
}
reader.close();
}
//wozu ist diese exception gut?
catch(Exception ex){
ex.printStackTrace();
}
}
}
1. In Zeile 19 ist ein Fehler, guck mal hin. Tipp: Operator?
2. Zeile 25: Exception ist die Superklasse von allen Exceptions du kannst sie auch durch die einzelnen
Exceptions auswechseln die von den benutzten Methoden geworfen werden (z.B. IOException).
3. Kompilierst du auf der Kommandozeile? Dann müsste die Datei in dem gleichen Verzeichnis wie die
Java- bzw. Class-Datei liegen.
zu 3. : Benutze eclipse. Da muss die Datei dann vermutlich auch in den selben Ordner, wie die Klasse?!
Wie kann man denn einen Dateipfad angeben, um z.b. eine Datei von einem Server einzulesen?
Ich glaube wenn du Eclipse benutzt musst du die Datei in das "src"-Verzeichnis packen.
Wenn du eine Datei von einem Server einlesen willst, musst du noch ein wenig mehr
machen als den Pfad zu ändern. Denn die Datei muss dann ja über ein Protokoll (http)
geladen werden, dafür muss dann eine Verbindung zum Server aufgebaut werden......
Aber in der Schleife wird line ja reader.readLine zugewiesen. Und das wird dann solange ausgeführt, bis eine Leerzeile kommt oder?
Ok, also habe die Datei nun so ziemlich überall reinkopiert (zu den .class Dateien, deren Überordner, und den .java Dateien + Überordnern), aber es kommt trotzdem noch:
java.io.FileNotFoundException: personFile.txt (Das System kann die angegebene Datei nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at personFiles.PersonFileReader.main(PersonFileReader.java:12)
Wenn man mit relativen Pfaden arbeitet, ist die Basis immer das Arbeitsverzeichnis der Anwendung ("Working Directory"). In Eclipse kann man das in den Run-Configurations unter Working-Directory angeben; der Default ist normalerweise das Projektverzeichnis (also das Verzeichnis, in dem das src-Unterverzecihnis liegt).