Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unr

mäks

Mitglied
Hallo Zusammen,

will mir ein kleines Tool schreiben was mir 2 einfache Text Dateien auf Inhalt vergleicht.

anbei mein Quellcode:


Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logcompare;
import java.io.*;
/**
 *
 * @author
 */

public class LogCompare {


    /**
     * @param args the command line arguments
     */
        public static void compare (String sFile, String dFile)
    {
        // Existieren beide Eingangsdateien
        
        // Lese QuellDatei ein
        
        FileInputStream fisQ= new FileInputStream(sFile);
        InputStreamReader isrQ= new InputStreamReader(fisQ);
        BufferedReader burQ= new BufferedReader(isrQ);
        
        String sLineQ= burQ.readLine();
        
        //Lies alle Zeilen ein
        
        int fileRowsQ=0;
        
        while(sLineQ != null)
        {
            System.out.println("Zeile "+fileRowsQ+": "+sLineQ);
            fileRowsQ++;
        }
        
        System.out.print("QuellDatei hat:"+fileRowsQ+" Zeilen");
        
        // Gib die Anzahl Zeilen aus
        
        // Lese Zieldatei ein
        
        // Gib die Anzahl Zeilen aus
        
        // Vergleiche beide
        
        // gib die Unterschiede aus
    }
    
    public static void main(String[] args) {
        
        // TODO code application logic here
        
        System.out.print("LogCompare (c) Marcus GRUBER 2012");
        System.out.println();
        
        // Quell- und Zieldatei
        
        String quelle=("C:\\\\text.txt");
        String ziel=("C:\\\\test1.txt");
        
        //System.out.print(ziel);
        //System.out.print(quelle);
        // Ausführen
        
        LogCompare.compare(quelle, ziel);
    }
}

Zum Ablauf:

Auch wenns unperformant sein mag, soll zuerst herausgefunden werden wieviele Zeilen die Quelle (Textdatei1) und das Ziel Textdatei2.

Danach soll mittels zeilenweises auslesen der einzelnen Einträge auf inhaltliche Gleichheit geprüft werden ... Doch um das geht es mir gar nicht.

Es geht mir viel mehr um die Fehlermeldung:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
at logcompare.LogCompare.compare(LogCompare.java:25)
at logcompare.LogCompare.main(LogCompare.java:70)


Ich hätte mehrmals versucht den Pfad der Datei zu ändern, doch mittlerweile glaube ich kaum mehr dass es an der fehlenden Textdatei scheitert, sondern eher daran dass er die "io" Bibliothek nicht in die Funktion bringt.

Kann mir da jemand bei dieser Fehlermeldung einen Tipp geben?

vielen Dank und lg

Maks
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi,

wie in der Dokumenatation zum Konstruktor von FileInputStream beschrieben wirft dieser ne Exception. Da du diese allerdings nirgends abfängst, lässt sich dein Source nicht compilen.

Versuchs mal so: (Methoden-Kopf von "compare()" angepasst und nen try-Catch-Block in die main() eingefügt)
Java:
public static void compare (String sFile, String dFile) throws IOException

[...]

try {
  LogCompare.compare(quelle, ziel);
} catch (IOException e) {
  e.printStackTrace();
}

Grüße,
BK
 

mäks

Mitglied
Hallo Bratkartoffel,

Na toll auf das hätte ich selbst auch kommen können!!

Er sucht die Datei text.txt (gibt aber nur die test.txt)

java.io.FileNotFoundException: C:\text.txt (Das System kann die angegebene Datei nicht finden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at logcompare.LogCompare.compare(LogCompare.java:25)
at logcompare.LogCompare.main(LogCompare.java:72)


Dankeschön :)

lg

Maks
 
Zuletzt bearbeitet von einem Moderator: