Hallo!
Ich habe ein Problem wo ich nicht weiter komme:
Ich habe eine Methode geschrieben, mit der ein Array vom Typ Integer zunächst in ein Object und anschließed zu einem String gemacht wird.
Der String wird anschließend in ein Byte-Array zerlegt und in einer Datei gespeichert.
Das Problem was ich habe ergibt sich beim Auslesen. Wenn ich das zu Anfang eingegebene Array als String ausgeben lasse und direkt dahinter den String den ich wieder aus der Datei bekommen habe, so ist die Ausgabe der Konsole gleich, ich bekomme den String aber nicht zurück in eine Array vom Typ Integer.
Kann mir da jemand helfen?
BTW.: hier sind die drei Methoden die ich benutze:
Bevor ich es vergesse: Ziel der Sache ist es, ein Integer-Array in eine Datei zu speichern und wieder auszulesen. Ich kann leider nicht alle Funktionen verwenden, da ich auf dem Compiler Level 1.3 (normal wäre 1.6) arbeite, da der ganze Code auf LeJOS laufen muss, einer Javainterpreter Software für den Lego NXT-Brick.
Ich habe ein Problem wo ich nicht weiter komme:
Ich habe eine Methode geschrieben, mit der ein Array vom Typ Integer zunächst in ein Object und anschließed zu einem String gemacht wird.
Der String wird anschließend in ein Byte-Array zerlegt und in einer Datei gespeichert.
Das Problem was ich habe ergibt sich beim Auslesen. Wenn ich das zu Anfang eingegebene Array als String ausgeben lasse und direkt dahinter den String den ich wieder aus der Datei bekommen habe, so ist die Ausgabe der Konsole gleich, ich bekomme den String aber nicht zurück in eine Array vom Typ Integer.
Kann mir da jemand helfen?
BTW.: hier sind die drei Methoden die ich benutze:
Code:
public static void saveTest() throws FileNotFoundException, IOException{
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,0};
Object o;
o = (Object)arr;
FileOutputStream fos = new FileOutputStream( new File( "test.dat" ) );
byte[] byteText = getBytes( o.toString() );
for(int i=0;i<byteText.length-1;i++){
fos.write((int) byteText[i]);
}
fos.close();
}
public static void loadTest() throws FileNotFoundException, IOException{
FileInputStream in = new FileInputStream( new File( "test.dat" ) );
byte[] b = new byte[0];
int a = in.read();
while( a >= 0 ){
b = growArray( b, 1 );
b[ b.length - 1 ] = (byte) a;
a = in.read();
}
System.out.println( ( new int[]{1,2,3,4,5,6,7,8,9,0} ).toString() );
String tmp = "";
for( int i = 0; i < b.length; i++ )
tmp += (char)b[ i ];
System.out.println( tmp );
Object o = tmp;
int[] ar = (int[])tmp; ==> funktioniert nicht
}
public static byte[] growArray( byte[] arr, int length ){
byte[] tmp = new byte[ arr.length + length ];
System.arraycopy( arr, 0, tmp, 0, arr.length );
return tmp;
}
Bevor ich es vergesse: Ziel der Sache ist es, ein Integer-Array in eine Datei zu speichern und wieder auszulesen. Ich kann leider nicht alle Funktionen verwenden, da ich auf dem Compiler Level 1.3 (normal wäre 1.6) arbeite, da der ganze Code auf LeJOS laufen muss, einer Javainterpreter Software für den Lego NXT-Brick.
Zuletzt bearbeitet: