Eclipse Programm kann nicht ausgeführt werden

bfg97

Mitglied
Hi,
Ich habe gerade ein sehr einfaches Programm geschrieben, das eine Datei einlesen und augeben soll. Leider bekomme ich von eclipse nur die Fehlermeldung, dass das Programm nicht ausgeführt werden kann, wobei dieser Fehler nur erscheint, wenn ich versuche es auszuführen. Neben dem Code sind alle Fehler behoben, lediglich beim Integer i steht, dass der Wert nie genutzt wird.

Hier ist der Code:
Java:
import java.io.*;


public class Countries {
    
    public void main(String[] args) throws IOException {
        
        FileReader countries= new FileReader("countries.txt");
        
        char[] c= new char[10000];
        
        int i;
        
        while((i=countries.read(c))>=0) {
            System.out.print(c);
        };
        countries.close();
    }

}
 
Die main Methode muss statisch sein

Davon abgesehen, i kannst du in der Tat rausschmeißen, außerdem empfiehlt es sich AutoClosables auch als solches zu verwenden. Deine Schleife macht keinen Sinn. countries.read(c) wird nur einmal ausgeführt (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Reader.html#read(char[])), es bieten sich eher Bedingungen an. Außerdem empfehle ich sprechendere Benennungen und ein Array lässt sich nicht so einfach printen. Code mit genannten Änderungen:

Java:
public class CountriesReader {
  public static void main(String[] args) throws IOException { 
    try (Reader fileReader = new FileReader("countries.txt");) {
      char[] buffer = new char[10000];
      int length = fileReader.read(c);
      if (length != -1) System.out.println(Arrays.toString(Arrays.copyOf(buffer, length)));
    }
  }
}
 
Zuletzt bearbeitet:
Danke euch beiden. Jetzt läuft es 😀
@MoxxiManagarm Der Code war mein erster Versuch eine Datei einzulesen, aber dein Vorschlag sieht wesentlich sinnvoller aus. In Zukunft werde ich diesen nutzen 🙂
 

Zurück
Oben