Große *.Text Datei zum verschicken in viele kleine

Status
Nicht offen für weitere Antworten.

Java_Boy

Mitglied
Hallo,

ich habe ein kleines oder eher doch großes Problem,

ich habe eines Textdatei ca 20 MB groß,

die soll weiter verarbeitet werden, das geht allerdings nur in einer viel kleineren Größe,

Nun soll ich ein Programm schreiben, in der ich die Textdatei einlese und in bestimmten abständen teile,
also den Inhalt in eine neue Textdatei speicher.

Und das immer so weiter.

Gibt es eine Möglichkeit, wie ich dies lösen kann?

Ich würde mich als Java anfänger bezeichnen, also 😉

*gggg*

Bitte helft mir...

Jens

:bahnhof:
 
hab da was gefunden.

dieses Programm ließt eine Text datei aus und schreibt diesen text in eine andere datei,

wie mache ich das jetzt das ich eine quell textdatei habe und N weitere.

es ist nicht festgelegt wie viele dateien es nqachher sind,
in den dateien stehen halt merkmale drin. z.b. wie augenfarbe haarfarbe name und so, und sobald eine nneue person beginnt oll der auch ne neue datei beginnen, nur so als beispiel 😉

Ich bruche hilfe


------------------


/*********************************************
* Applikation: WriteFile.java *
* =========================== *
* *
* Anwendung: *
* java WriteFile Inputfile Outputfile *
* *
* Schreibt Datei "Inputfile" nach Datei *
* "Outputfile" und setzt laufende Zeilen- *
* nummer davor. *
********************************************/

import java.io.*; // Package java.io.* importieren


public class WriteFile
{
public static void main(String[] args)
{
// Anzahl der Argumente pruefen

if (args.length != 2)
System.out.println("Anwendung: WriteFile Inputfile Outputfile");
else
{
// Alles in Ordnung. Versuche, Dateien zu oeffnen
try
{
FileReader in = new FileReader(args[0]);
FileWriter out = new FileWriter(args[1]);
LineNumberReader lnr = new LineNumberReader(in);

boolean eof = false;
int cnt = 0;

while(!eof)
{
// Lies Zeile und Zeilennummer
String zeile = lnr.readLine();
cnt = lnr.getLineNumber();

// Bei Dateiende: Setze eof = true
if(zeile == null)
eof = true;

// Schreibe Zeile in out, solange eof false ist
if(!eof)
out.write(cnt + ": " + zeile+"\n");
}
out.close(); // Ausgabedatei schliessen
in.close(); // Eingabedatei schliessen
}

// Behandlung der Ausnahmebedingung: Datei nicht gefunden
catch(IOException e)
{
System.out.println("Fehler: Datei " + e.toString());
}
}
}
}
 
Hoi,

nimm nächte mal Code-tags um Code hier zu posten 😉

Anstatt den Pfad der SourceFile und DestFile in main zu übergeben, solltest Du eine methode schreiben, die die Pfadnamen der files einliest und in einem Vector speichert. Kannst auch ein StringArray nehmen, nur da müsstest Du eine mximalGrenze der Anzahl der Dateien kennen, oder unschönerweise einfach 1000 nehmen oder so.

Diese Pfadnamen läufst Du in einer Schleife ab und machst damit was Du willst.

greetz
SLi
 
habt ihr sowas in der art vielleicht schonmal programmiert?

oder habt ihr beispiele dafür?

wie gesagt ich bin anfänger!

:###
 
also, da ich ein zähler-fan bin

würde ich zum beispiel:
Code:
int i=0;
string schreibedateiname = text;
int namezaehler;

while(i<1000 und nich EOF)
{
   //Lesen-der-Zeile(ausDatei1);
   // Schreiben-der-Zeile(inDatei2);
   i++;
   
   if(i==999 und nich EOF)
   {
     i=0;
     schreibedateiname = schreibedateiname + namezaehler;
     
     //den writer auf neue schreibedateiname lenken
   }
}
.
.
.

Jetzt werden viele sagen, ja das is umständlich. Aber es funktioniert. 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben