ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
7019
7019
EMPFEHLEN
-
Hi,
ich möchte mit Hilfe von der Klasse RandomAccessFile ein Programm schreiben, dass Strings ein- und auslesen kann. Das stellt noch kein Problem dar. Allerdings möchte ich nun erst ein paar Einträge in die Datei schreiben, sie dann in belibieger Reihenfolge ausgeben (das funktioniert auch) und dann wieder Strings in die Datei schreiben und diese dann ausgeben. Nun funktioniert das erneute schreiben und lesen der Strings nich so, wie es funktionieren soll.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
import java.io.*; public class myr { private static RandomAccessFile raf; private int MAXL = 40; public myr(RandomAccessFile r) { raf = r; } public void schreiben(String s) { try { //long pos = raf.length(); long pos = raf.getFilePointer(); raf.writeUTF(s); raf.seek(pos + MAXL); raf.close(); } catch(IOException ioe) { ioe.getMessage(); } } public String lesen(int i) { String s = null; try { raf.seek(i * MAXL); s = raf.readUTF(); raf.close(); } catch(IOException ioe) { ioe.getMessage(); } return s; } public static void main(String[] args) { myr test = null; File f = new File("Test.doc"); try { f.createNewFile(); test = new myr(new RandomAccessFile(f, "rw")); } catch(FileNotFoundException fnfe) { fnfe.getMessage(); } catch(IOException ioe) { ioe.getMessage(); } test.schreiben("Guten Tag" + '\n'); test.schreiben("Der Herr" + '\n'); test.schreiben("Grüß Gott" + '\n'); System.out.println(test.lesen(2)); System.out.println(test.lesen(0)); System.out.println(test.lesen(1)); //test.schreiben("Hallo" + '\n'); //System.out.println(test.lesen(3)); //test.close(); //f.delete(); } }
-
Hi,
hätte letzte Woche schon geantwortet, hatte aber leider keine Zeit mehr
So funktioniert es:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
import java.io.*; public class myr { private static RandomAccessFile raf; private int MAXL = 40; private int count = 1; public myr(RandomAccessFile r) { raf = r; } public void schreiben(String s) { try { long pos = raf.length(); //long pos = raf.getFilePointer(); raf.writeUTF(s); raf.seek(count*MAXL+pos); count++; } catch(IOException ioe) { ioe.getMessage(); } } public String lesen(int i) { String s = null; try { raf.seek(i * MAXL); s = raf.readUTF(); } catch(IOException ioe) { ioe.getMessage(); } return s; } public void close(){ try { raf.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { myr test = null; File f = new File("Test.doc"); try { f.createNewFile(); test = new myr(new RandomAccessFile(f, "rw")); } catch(FileNotFoundException fnfe) { fnfe.getMessage(); } catch(IOException ioe) { ioe.getMessage(); } test.schreiben("Guten Tag" + '\n'); test.schreiben("Der Herr" + '\n'); test.schreiben("Grüß Gott" + '\n'); System.out.println(test.lesen(2)); System.out.println(test.lesen(0)); System.out.println(test.lesen(1)); test.close(); //test.schreiben("Hallo" + '\n'); //System.out.println(test.lesen(3)); //test.close(); //f.delete(); } }
Musst die Datei aber erst löschen. Aber im moment wird die Datei jedesmal überschrieben wenn das Programm neu gestartet wird.Geändert von zerix (03.12.06 um 16:12 Uhr)
Ähnliche Themen
-
Dll lesen und schreiben
Von vbänfänger im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 20.08.09, 13:29 -
lesen & schreiben
Von celloman im Forum JavaAntworten: 7Letzter Beitrag: 16.10.07, 16:32 -
.txt lesen/schreiben
Von shader09 im Forum C/C++Antworten: 18Letzter Beitrag: 16.10.07, 07:32 -
txt lesen/schreiben
Von shader09 im Forum C/C++Antworten: 0Letzter Beitrag: 11.10.07, 11:13 -
INI Dateien mit vb.net schreiben und lesen
Von forsterm im Forum .NET ArchivAntworten: 3Letzter Beitrag: 16.12.04, 17:27





Zitieren

Login





