Werte in eine Textdatei schreiben

LocDoc

Mitglied
Hi zusammen,

ich habe folgendes Problem:

Ich möchte ein Integerarray in eine Textdatei schreiben. Soweit auch noch kein Problem. Ich habe mir dazu folgendes überlegt:

Code:
for(int x=0;x<4096;x++){
			try{
			      FileWriter fw = new FileWriter( "c:/temp/values.txt", true );
			      fw.write(value[x]);
			      fw.flush();
			      fw.close();
			}
			catch( Exception e){
				System.out.println(e);
			}
		}

wie ihr seht stehen meine Werte in value[] drin.
Die Ausgabe an sich funktioniert auch, also er erstellt eine values.txt und haut da Daten rein. Allerdings nur irgendwelche Zeichenreihen, die für mich keinen Sinn ergeben

Code:
??????????
und
Code:
ÇĻý»´½µ²°¶¨®«©£ª ¡?¡~?|zzztvqtnonlglfdee]a`[Y\ZUTYROSPKNLHHJEDDEB>9>;7985543200/.,,*+(((&%&"##!

Liegt das evtl. daran, dass ich versuche die Integer-Werte direkt zu schreiben? Und wenn ja, was muss ich mit den Integerwerten vorher machen, damit es funktioniert?

thx in advance
Loci
 
Ich habe es jetzt so gelöst, dass ich bei jedem Schleifenanfang den aktuellen Integerwert in einen String schreibe und diesen in die Datei schreiben lasse.

Geht es auch anders?

P.S. sorry for double-post
 
Hallo LocDoc,

das ist doch viel zu umständlich wie du das machst. Auch tut häufiger Festplattenzugriff nicht gut. Dateien erstellen, manipulieren, bearbeiten sollte man im Arbeitsspeicher. Und zuletzt die fertigen Daten dann in eine Datei schreiben.
Hier schreibst du die Integerwerte zuerst in einen String. Dann kannst du es in einem Schritt in eine Datei schreiben.

Code:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteArrayToFile {

	public static void main(String[] args) {
		String path = "test.txt";
		String arrayString = "";
		int[] array = {1,2,3,4,5,6,7,8,9};

		for (int i = 0; i < array.length ; i++)
			arrayString = arrayString + array[i];

	    try {
	        BufferedWriter out = new BufferedWriter(new FileWriter(path));
	        out.write(arrayString);
	        out.close();
	    } catch (IOException e) {
	    }
	}

}

Vg Erdal
 
Zurück