Datei mich JAVA erstellen

Hallo an alle;

Ich bin ein anfänger mit der Programmierung und auch eben mit JAVA.
Ich möchte eine Java-Program schreiben um eine Datei, die besteht aus mehrere von folgenden Zeile.
Ich weiss leider nicht genau wie ich so eine Datei mit hilfe von JAVA austomatisch erstellen sollte.
welche Klasse konnte benutzt(importiert) werden?
hätte eine ein Beispiel?

Die Datei sollte Automatisch erstellt werden und sollte beispielsweise aus folgende Zeile bestehen:

Date Product expired-date price weight location

Date Product expired-date price weight location

Date Product expired-date price weight location

Date Product expired-date price weight location
.............
.............

Danke sehr im voraus für die Hilfe.

MfG

koungan
 
wietere Frage !

Hallo All,

Danke sher zuerst an LaNdRiX für die schnelle Hilfe.

Wie schon beschrieben, möchte ich gern folgende Zeile (Date Product expired-date price weight location) in meiner Datei mehr Mals schreiben und dazu habe ich folgende Kode geschrieben:
Aus der Komando-zeile wird folgendes eingegeben: 5;C:/generated_file/myFile.txt
wobei die Zahl "5" repränsentiert wieviel Zeilen in meiner Datei stehen würde und diesre Zahl wird in der Variable help geschpeichert.
Ich stelle fest, dass meine Datei überschrieben wird, deswegen steht nach dre Ausführung nur eine Zeile in meiner Datei, obwohl die Whileschleife fünf Mal durchlaufen wird.
Frage: wie kann ich hier die Methode Append() benutzen?




public void writeToFile(String filename) {
System.err.println("filename is: "+ filename );
String file[]= filename.split(";");

BufferedWriter bufferedWriter = null;
int help = (Integer)Integer.parseInt(file[0]);
try {
while(help > 0){
//Construct the BufferedWriter object
bufferedWriter = new BufferedWriter(new FileWriter(file[1]));

//Start writing to the output stream
bufferedWriter.write("Date Product expired-date price weight location");
bufferedWriter.newLine();
help--;
}

} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
//Close the BufferedWriter
try {
if (bufferedWriter != null) {
bufferedWriter.flush();
bufferedWriter.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}


Danke sehr im voraus.
 
also erstens: bitte benutze die code-tags, damit der code hier übersichtlich dargestellt wird.

zweitens: lern die doku zu lesen. da steht z.b. folgendes:
public FileWriter(String fileName)
Erzeugt einen neuen Stream zum Schreiben in die durch fileName bezeichnete Datei. Falls bereits eine Datei unter diesem Namen existiert, wird sie überschrieben.
Exception: IOException

wenn du dir nun deinen code ansiehst, stellst du fest, dass du in jedem schleifenaufruf den bufferedwriter mit dem filewriter neu instanzierst, du überschreibst dir also in deinem beispiel 5 mal die datei mit der einen zeile.

ohne es jetzt zu testen schlage ich dir mal folgende änderung vor:

Code:
try 
{
   //Construct the BufferedWriter object
   bufferedWriter = new BufferedWriter(new FileWriter(file[1]));

   while(help > 0)
   {
      //Start writing to the output stream
      bufferedWriter.write("Date Product expired-date price weight location");
      bufferedWriter.newLine();
      help--;
   }
}

ob das klappt weiß ich jetzt aber nicht, da die write-funktion vom bw eigentlich nicht nur für string funktioniert und eigentlich eine exception werfen müsste, wenn ich nach der doku von sun gehe.

void write(char[] cbuf, int off, int len)
Write a portion of an array of characters.
void write(int c)
Write a single character.
void write(String s, int off, int len)
Write a portion of a String.

eine weitere möglichkeit wäre, wenn du die zeile
Code:
bufferedWriter = new BufferedWriter(new FileWriter(file[1]));
in
Code:
bufferedWriter = new BufferedWriter(new FileWriter(file[1]),true);
änderst, da das true dann für append steht
 
Danke für die Hilfe

Hallo lightsaver,

Danke sehr für die Hilfe. Dies hat mir sehr geholfen!

Ich habe noch weitere Frage, aber ich kämpfe noch allein um es zu lösen hoffentlich erfolgreich.

Danke sehr noch mal.

Grüsse
 
Zurück
Oben