Datei auslesen - Geschwindigkeitsproblem

Status
Nicht offen für weitere Antworten.

manuakasam

Neues Mitglied
Hallo allerseits,

mit Java habe ich bislang überhaupt nichts am Hut gehabt, durch die Bedingung eine lokale Anwendung erstellen zu müssen kam ich jedoch nun nicht drumrum :>

Es gehgt darum, dass ich X html-Dateien auslesen muss und aus dieser Werte aus definierten Tabellen auslesen muss.
Das Auslesen der Werte ist das Regulären-Ausdrücken und Dateipositionen absolut kein problem und funktioniert fehlerfrei. Was mir derzeit Probleme bereitet ist das generelle Auslesen der Datei. Dies dauert nämlich ungemein lange...

Bei einer 871kb großen Datei dauert das Einlesen der Daten ca. ~5 Minuten
Bei einer 431kb großen Datei dauert das Einlesen der Daten ca. ~2 Minuten

Die Zeiten selbst variieren dabei etwas nach PC Last, das ganze geht durchaus auch in 3 bzw. 1 Minuten. Selbst dann erscheinen mir die Werte immernoch etwas groß, aus diesem Grund würde ich euch bitten einmal meine Auslesefunktion zu begutachten und mir zu sagen, was ich alles falsch bzw. unpraktikabel mache.

Java:
public String getFileContent(String fn)
{
    String sOut = "";

    try
    {
        // Initialisiere Zeitmessung
        long starttime = System.currentTimeMillis();

        // Datei zum lesen öffnen
        System.out.print("Opening File to Read...");
        BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fn), "UTF16"));
        System.out.println("OK");

        // Rückgabestring initialisieren
        String sTmp;

        // Daten auslesen
        System.out.print("Fetching data...");
        mainPanel.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        while((sTmp = in.readLine()) != null)
        {
            sOut += sTmp.trim()+"\r\n";
        }
        mainPanel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

        // Zeitmessung ausgeben
        System.out.println(">>> elapsed time: " + ((System.currentTimeMillis() - starttime) / 1000)+"s");
    } catch (UnsupportedEncodingException e) {
        System.err.println("FEHLER: Falsche Datei-Codierung");
    } catch (IOException e) {
        System.err.println("FEHLER: Daten nicht gefunden");
    }
    return sOut;
}

Die Vermutung, dass es an der Zeile 23 und dem vermehrten .trim() aufruf liegt, trifft nicht zu. Dies bringt nur einen minimalen Unterschied, also denke ich, dass es an der Zeilenweisen auslesen liegt?

Ich selbst bin sonst nur mit dem PHP-Bereich vertraut und vermisse hier so eine funktion wie file_get_contents() :p

Naja, bin über jegliches Feedback erhaben. Danke im Vorraus! ;)
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Der Klassiker wäre
Code:
String s = "";
for (...)
{
    s += someString;
}
ändern in
Code:
StringBuilder sb = new StringBuilder();
for (...)
{
    sb.append(someString);
}
String s = sb.toString();
 

manuakasam

Neues Mitglied
Okaaay, vielen Dank!

Und schon ist das ganze Geschwindigkeitsproblem gelößt...
Beim nächsten mal dann doch lieber die Basics nochmal durchlesen wie es scheint *schäm*

vielen Dank! ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Json Datei auslesen Java Basics - Anfänger-Themen 4
S CSV Datei auslesen und anders darstellen Java Basics - Anfänger-Themen 2
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
OlafHD Datei Auslesen Java Basics - Anfänger-Themen 6
J Datei auslesen klappt nicht Java Basics - Anfänger-Themen 4
I Informationen aus XML Datei auslesen Java Basics - Anfänger-Themen 2
L Variablen aus TXT Datei auslesen und vergleichen. Java Basics - Anfänger-Themen 5
M Datei-Namen aus .jar auslesen Java Basics - Anfänger-Themen 7
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
B Datei zeilenweise auslesen Java Basics - Anfänger-Themen 7
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
Traxter Cookie Datei auslesen Java Basics - Anfänger-Themen 4
B CSV-Datei auslesen, in Liste speichern und sortieren Java Basics - Anfänger-Themen 20
J Datensätze aus Txt Datei auslesen - Datensätze durch stöbern Java Basics - Anfänger-Themen 5
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
R csv-Datei auslesen und ausgelesene Daten in neue csv-Datei speichern Java Basics - Anfänger-Themen 2
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
L OOP Mit RandomAccesFile auslesen und in Datei schreiben Java Basics - Anfänger-Themen 8
F TextArea auslesen und in Datei speichern Java Basics - Anfänger-Themen 4
J Problem beim auslesen von Int Wert aus YML-Datei Java Basics - Anfänger-Themen 6
B Datei Auslesen + Schleife Java Basics - Anfänger-Themen 7
J Input/Output Daten in Datei schreiben und auslesen Java Basics - Anfänger-Themen 23
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
J Input/Output Datei auslesen, Pfad eingeben Java Basics - Anfänger-Themen 4
A HTML-Code auslesen und mit einem Wert in der property-Datei vergleichen Java Basics - Anfänger-Themen 2
Z Datei auslesen und in 2dim Array packen. Java Basics - Anfänger-Themen 27
E Text Datei Daten Auslesen und Schreiben Java Basics - Anfänger-Themen 3
P Properties Datei auslesen? Komfortabeler? Java Basics - Anfänger-Themen 2
K Mein Programm... Heute: Settings-Datei in .jar speichern und auslesen Java Basics - Anfänger-Themen 9
V Bestimmte Stellen aus .txt Datei auslesen Java Basics - Anfänger-Themen 11
Strahlungsleck Input/Output Zahlen aus Text-Datei auslesen Java Basics - Anfänger-Themen 6
R txt Datei auslesen Java Basics - Anfänger-Themen 3
R .log-Datei dauerhaft auslesen Java Basics - Anfänger-Themen 7
S Strings und Binärdaten aus der gleichen Datei auslesen Java Basics - Anfänger-Themen 24
V Datei in Ordner auslesen -> neuer Ordnername Java Basics - Anfänger-Themen 7
S Intwert aus einer txt.datei auslesen Java Basics - Anfänger-Themen 3
J Pfad bzw. Namen einer Datei auslesen Java Basics - Anfänger-Themen 6
C Arraylist in Txt Datei speichern und auslesen Java Basics - Anfänger-Themen 8
P mit java text-datei auslesen und weiter bearbeiten Java Basics - Anfänger-Themen 3
M Datei auslesen und Array schreiben?! Java Basics - Anfänger-Themen 8
M ständiges auslesen einer .txt datei Java Basics - Anfänger-Themen 2
J 2-dim Array auslesen und in Datei schreiben Java Basics - Anfänger-Themen 10
X Java txt datei auslesen Java Basics - Anfänger-Themen 10
M Sonderzeichen in einer Datei auslesen Java Basics - Anfänger-Themen 3
A Textdatei von URL auslesen und in Datei schreiben Java Basics - Anfänger-Themen 5
H Datei Byteweise mit wechselnden "Templates" auslesen Java Basics - Anfänger-Themen 2
Streeber Datei aus JAR auslesen Java Basics - Anfänger-Themen 3
B Datei auslesen Java Basics - Anfänger-Themen 2
G POI: Aus einer Datei auslesen und in eine andere Datei speichern Java Basics - Anfänger-Themen 18
C Zeilen aus einer Datei auslesen Java Basics - Anfänger-Themen 4
A Auslesen einer datei mit Scanner Java Basics - Anfänger-Themen 4
V Sequentielles Auslesen einer Datei Java Basics - Anfänger-Themen 7
T auslesen einer ini Datei Java Basics - Anfänger-Themen 13
G Datei blockweise auslesen Java Basics - Anfänger-Themen 6
Z Wie Datei effizient auslesen? Java Basics - Anfänger-Themen 1
M Auslesen einer Datei im Jar File Java Basics - Anfänger-Themen 5
T ArrayList in Datei speichern und auslesen Java Basics - Anfänger-Themen 7
J Datei auslesen und in Tabelle einfügen Java Basics - Anfänger-Themen 6
B kleine Probleme beim auslesen einer m3u Datei Java Basics - Anfänger-Themen 3
1 Zeit und Datum der Letzten Bearbeitung einer Datei auslesen Java Basics - Anfänger-Themen 3
P JSP - Daten aus externer Datei auslesen und anzeigen Java Basics - Anfänger-Themen 3
H2SO3- kompletten string aus datei auslesen (nicht .readline) Java Basics - Anfänger-Themen 21
O Text von Homepage via Java auslesen und in Text Datei speich Java Basics - Anfänger-Themen 1
T Bestimmte Zeile aus einer .txt-Datei auslesen? Java Basics - Anfänger-Themen 10
H Russische Zeichen in Datei schreiben und wieder auslesen Java Basics - Anfänger-Themen 3
H csv datei mit java auslesen und in konsole wiedergeben Java Basics - Anfänger-Themen 22
H Datei auslesen . Java Basics - Anfänger-Themen 33
M Probleme beim Datei auslesen Java Basics - Anfänger-Themen 6
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
S Text datei auslesen Java Basics - Anfänger-Themen 20
U Enumerationswerte aus XSD-Datei auslesen Java Basics - Anfänger-Themen 3
H Datei auslesen Java Basics - Anfänger-Themen 13
B String-Array in Datei speichern und wieder auslesen Java Basics - Anfänger-Themen 3
D Problem beim auslesen von txt datei. Java Basics - Anfänger-Themen 26
S Datei auslesen und neue schreiben (keine Textdatei) Java Basics - Anfänger-Themen 2
M Filesplitting - Teile einer Datei auslesen Java Basics - Anfänger-Themen 7
S ini Datei auslesen und in programm speichern Java Basics - Anfänger-Themen 2
J Datei aus unterschiedlichen Typen auslesen Java Basics - Anfänger-Themen 6
S Zahlen aus einer Datei auslesen Java Basics - Anfänger-Themen 11
C Probleme mit Auslesen einer Datei Java Basics - Anfänger-Themen 6
B Datei auslesen Java Basics - Anfänger-Themen 3
G Bestimmte Bereiche einer Datei auslesen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben