D
Desilusionado
Gast
Hi @ all,
Ich habe folgendes Problem:
Ich habe eine txt datei vorliegen, die in etwa so aussieht:
================================
wort [TABULATOR] zahl [TABULATOR] zahl
wort [LEER] wort [TABULATOR] zahl [TABULATOR] zahl
wort [LEER] wort [TABULATOR] zahl [TABULATOR] zahl
wort [TABULATOR] zahl [TABULATOR] zahl
zeichen [TABULATOR] zahl [TABULATOR] zahl
...
usw.
================================
Ich versuche grade ein programm zu schreiben, was die wörter aus diesem file filtert, sie zählt und am ende nach häufigkeit geordnet in nem neuen txt-file ausgibt...
Mein code sieht grad so aus:
Problem dabei ist, dass die Wörter, die im ersten Text in einer Zeile standen, nun auch als ein String gewertet werden sollen und somit auch wieder in der gleichen zeile ausgegeben werden sollen... Das ist in meinem code aber nicht der fall...
Deweiteren fehlt mir der Ansatz für das zählen und ausgeben... ich habe was von Treemaps, Arrays und Hash-Tabbellen gelesen... Was würdet ihr davon empfehlen?
Aso... die txt datei ist ca 500mb groß
Danke für eure Hilfe!
Ich habe folgendes Problem:
Ich habe eine txt datei vorliegen, die in etwa so aussieht:
================================
wort [TABULATOR] zahl [TABULATOR] zahl
wort [LEER] wort [TABULATOR] zahl [TABULATOR] zahl
wort [LEER] wort [TABULATOR] zahl [TABULATOR] zahl
wort [TABULATOR] zahl [TABULATOR] zahl
zeichen [TABULATOR] zahl [TABULATOR] zahl
...
usw.
================================
Ich versuche grade ein programm zu schreiben, was die wörter aus diesem file filtert, sie zählt und am ende nach häufigkeit geordnet in nem neuen txt-file ausgibt...
Mein code sieht grad so aus:
Code:
import java.io.*;
import java.util.*;
class nohit
{
public static void main ( String[] args )
throws IOException
{
StreamTokenizer st = new StreamTokenizer(new FileReader("nohits.txt"));
BufferedWriter bw = new BufferedWriter (new FileWriter ("words.txt"));
for ( int tval; (tval = st.nextToken()) != StreamTokenizer.TT_EOF; )
{
if ( tval == StreamTokenizer.TT_WORD )
{
bw.write(st.sval);
bw.newLine();
}
}
bw.close();
}
}
Problem dabei ist, dass die Wörter, die im ersten Text in einer Zeile standen, nun auch als ein String gewertet werden sollen und somit auch wieder in der gleichen zeile ausgegeben werden sollen... Das ist in meinem code aber nicht der fall...
Deweiteren fehlt mir der Ansatz für das zählen und ausgeben... ich habe was von Treemaps, Arrays und Hash-Tabbellen gelesen... Was würdet ihr davon empfehlen?
Aso... die txt datei ist ca 500mb groß
Danke für eure Hilfe!