8 bytes von bestimmter position weg lesen?

Status
Nicht offen für weitere Antworten.
L

l00P

Gast
kann mir das bitte mal wer zeigen, bin noch nicht so fix beim erraten von lösungen in java :)

ich habe eine ascii datei von der ich angefangen von position 160 8 bytes lesen möchte! Wie mach ich das am besten?

so gehts nicht:
Code:
try{
		BufferedReader in = new BufferedReader(
                new InputStreamReader(
                new FileInputStream("C:\\file.txt")));
		
		char buf[] = new char[8];
		in.read(buf,160,8);
		
		System.out.println("leila");
		}
		catch(IOException e){
			System.out.print("Fehler" + e);
		}

danke schonmal
lg, l00P
 
R

Roar

Gast
entweder RandomAccessFile benutzen und dort 160 byte überspringen, oder einfach normal 160 bytes lesen, verwerfen, und dann das nächste byte lesen und weiterverarbeiten.
 
L

l00P

Gast
heißt das ich kann in java den zeiger nicht auf eine bestimmte position setzen wie z.B. in C++?
Also immer von anfang an lesen....


gibts da irgend eine standardroutine dafür?

danke schomal
 
L

l00P

Gast
... irgendwie geht das nicht bei mir, komfortabel wäre z.B. die read(byte a[]) methode, da liest er von einer bestimmten position die ich vorher mit seek angebe einfach so lange bis das byte array voll ist. Kommen aber nur zahlen raus ??
Gibts nicht was wo ich sagen kann von position X bitte 8 bytes lesen und fertig?!?

danke
 

Ark

Top Contributor
Code:
byte[] buffer=new byte[8];
RandomAccessFile rafile=new RandomAccessFile("Dateiname","r");
rafile.seek(160);// 161stes Byte ansteuern
rafile.read(buffer);// lesen
So müsste es klappen (hab's nie probiert).

BTW: Was ist eigentlich der Unterschied zwischen diesen beiden Methoden der Klasse RandomAccessFile?
Code:
public int read(byte[] b) throws IOException
public final void readFully(byte[] b) throws IOException
 
B

Beni

Gast
"read" liest nur gerade soviele Bytes wie vorhanden sind (das können auch weniger als 8 sein).

"readFully" liest genau b.length Bytes.

Ich würde hier "readFully" verwenden :wink:
 
L

l00P

Gast
Hätte noch eine Frage zum Thema RandomAccessFile.

soweit hat alles geklappt, jetzt implementiere ich einen logger der einfach irgendwelche STrings ans Ende einer Datei schreibt. Kann ich dem RandomAccessFile irgendwie sagen das der Zeiger am Ende der Datei stehen soll, sonst wird immer alles überschrieben. Oder wie implementiert man sowas normalerweise?!?

danke nochmal
 

Niki

Top Contributor
Zum Schreiben kannst du einen PrintWriter erzeugen, dem du einen FileWriter übergibst, in einem von den Konstruktoren (weiß im moment nicht genau welchen, musst du in der api-doc schauen) musst du true für das append-argument mitgeben, dann wird immer an die datei hinzugefügt, eventuelle auch autoflush auf true setzen, dann kann man schon während dem loggen das file auslesen
 
L

l00P

Gast
... eigentlich fehlt mir noch ein bißchen der Durchblick bei den ganzen file Dingern (Writer, Reader, Buffered...., Streams)

Ich brauche einen Zugang zu einem file wo ich schreiben und lesen kann. Kann mir bitte jemand einen Standardweg zeigen wie man sowas implementiert?

danke schonmal
 

Ark

Top Contributor
Das wichtigste Paket ist java.io.

Reader und Writer sind dazu da, reinen Text zu schreiben bzw. zu lesen.
InputStream und OutputStream sind zum Lesen und Schreiben von Rohdaten (Bytes) geeignet.

Von all diesen vier Klassen sind auch Puffer abgeleitet worden, sie dienen der Geschwindigkeitssteigerung:
BufferedReader
BufferedWriter
BufferedInputStream
BufferedOutputStream

Die Klassen InputStreamReader und OutputStreamWriter ermöglichen ein Zusammenschalten der entsprechenden Datenströme, zusammen mit den Puffern lassen sich (hoffentlich) elegante Lösungswege finden, um auf Dateien zuzugreifen:

Zum Lesen von Text:
BufferedReader <- InputStreamReader <- FileInputStream

Zum Schreiben von Text:
BufferedWriter -> OutputStreamWriter -> FileOutputStream

Zum Lesen von Rohdaten:
BufferedInputStream <- FileInputStream

Zum Schreiben von Rohdaten:
BufferedOutputStream -> FileOutputStream

Die Klasse RandomAccessFile eignet sich kaum zum „Rausschreiben“, aber im Gegensatz zu den oberen Zugriffen ist man hier nicht auf Lesen bzw. Schreiben von (oder Anhängen an) ganzen Dateien beschränkt. Es ist möglich, zielgenau auf eine Datei lesend und schreibend zuzugreifen. Sozusagen ist mit RandomAccessFile eine Art „virtueller Arbeitsspeicher“ möglich.

Zum Lesen bzw. Schreiben von Text in Dateien gibt es auch einfache Varianten, FileWriter und FileReader, die aber nur mit dem Standard-Zeichensatz umgehen können und auch „nur“ eine Standardgröße zum Puffern zulassen.

MfG
Ark
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
V Input/Output Austausch von Bytes zwischen C# und Java Allgemeine Java-Themen 3
RalleYTN Input/Output Clip als ein Array von Bytes? Allgemeine Java-Themen 2
J Temperatur aus bytes auslesen. Allgemeine Java-Themen 13
Q Bytes verschwinden im CipherInputStream Allgemeine Java-Themen 1
L Methoden Methode gibt mir beim verschlüsseln mit RSA 0 bytes aus ? Allgemeine Java-Themen 1
J Bytes aus Socket lesen Allgemeine Java-Themen 9
Q Datentypen Short aus Bytes - Signed -> Unsigned? Allgemeine Java-Themen 9
C Datentypen int in bytes zerlegen und wieder zusammen setzen Allgemeine Java-Themen 13
K Hexadezimale Bytes Allgemeine Java-Themen 6
B bereits gelesene Bytes herausfinden Allgemeine Java-Themen 10
M FIFO Queue: bytes in, float/double/etc out Allgemeine Java-Themen 5
S String zu binary und zurück - Problem mit unsigned/signed bytes Allgemeine Java-Themen 2
TiME-SPLiNTER Von Unix, InputStreams und Null Bytes Allgemeine Java-Themen 2
K AES, Buffer und Bytes Allgemeine Java-Themen 2
S Bytes oder Hex-Werte zu Assembler Code? Allgemeine Java-Themen 6
L bytes nach int (little endian bitshift) Allgemeine Java-Themen 12
J Receive eines Hex-Bytes über COM-Port Allgemeine Java-Themen 4
G Zwei bytes vergleichen Allgemeine Java-Themen 2
M Bytes in Datei schreiben Allgemeine Java-Themen 10
T Spezielle Bytes in Datei schreiben Allgemeine Java-Themen 7
F Einlesen von Bytes Allgemeine Java-Themen 9
reibi Größe Array aus bytes Allgemeine Java-Themen 14
G RXTX verschicken einzelener Bytes Allgemeine Java-Themen 8
G WAV-Samples bearbeiten oder: 2 Bytes -> short -> float Allgemeine Java-Themen 5
T Größe eine Variablen in Bytes? Allgemeine Java-Themen 22
G Mehrere Bytes auf einmal einlesen Allgemeine Java-Themen 4
P int -> 4 bytes Allgemeine Java-Themen 11
R Menge an Bytes eines OutputStreams ermitteln. Allgemeine Java-Themen 6
R Wieviele Bytes gesendet Allgemeine Java-Themen 3
T Bestimmte bytes in einer Datei ersetzen? Allgemeine Java-Themen 4
D 16-Bit int --> 2* 8-Bit Bytes Allgemeine Java-Themen 17
H Objekte verbrauchen immer mindestens 16 Bytes Allgemeine Java-Themen 3
W Array größer als 65536 Bytes Allgemeine Java-Themen 7
A RandomAccessFile - Bytes vom Anfang der Datei löschen Allgemeine Java-Themen 32
C Code of a method longer than 65535 bytes Allgemeine Java-Themen 3
D 2 Bytes in ein int convertieren Allgemeine Java-Themen 2
B Umwandeln von Bytes in float Zahl (DataInputStream) Allgemeine Java-Themen 3
G 0 Bytes bei temporäre Datei. Warum? Allgemeine Java-Themen 6
izoards Bestimmter Text aus PDF extrahieren Allgemeine Java-Themen 3
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
H Stack mit bestimmter Aufgabe Allgemeine Java-Themen 62
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
N Java Robot Printscreen in bestimmter Konstellation Allgemeine Java-Themen 2
Bananabert Java mit bestimmter GPU ausführen Allgemeine Java-Themen 7
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
N Zahl mit bestimmter Länge und nur bestimmten Zahlen generieren lassen Allgemeine Java-Themen 7
J Bestimmter Buchstabe = bestimmte Zahl Allgemeine Java-Themen 10
S HTML-Quelltext nach bestimmter Stelle durchsuchen Allgemeine Java-Themen 2
M Klassen Array aus Klassen bestimmter Klassen ? Allgemeine Java-Themen 11
A Programm an bestimmter Stelle ausführen Allgemeine Java-Themen 5
M Nach bestimmter Namenskonvention filtern Allgemeine Java-Themen 2
C Problem beim einlesen bestimmter Seiten Allgemeine Java-Themen 5
T indexOf => bestimmter Bereich Allgemeine Java-Themen 26
G In Datei an bestimmter Stelle schreiben! Allgemeine Java-Themen 12
N einem Array Objekte hinzufügen die ihr Array position gespeichert haben Allgemeine Java-Themen 34
Lauezl Projektil zur Maus Position Allgemeine Java-Themen 10
J Hinergrund und Position verändern Allgemeine Java-Themen 2
Tobero Wie bekomme ich in welchem Quadrat sich eine Position in einem Grid befindet Allgemeine Java-Themen 11
C Position von Pixeln in Bilder auslesen Allgemeine Java-Themen 2
kodela aktuelle Position des Hauptfensters abfragen Allgemeine Java-Themen 12
Aruetiise Interface Position durch JButton ermitteln Allgemeine Java-Themen 5
T JasperReportsBuilder Position merken Allgemeine Java-Themen 0
C Position speichern von verschiebbaren Elementen auf JPanel Allgemeine Java-Themen 3
S per Mausklick Position ermitteln Allgemeine Java-Themen 8
T HTML Tag Position mittels Pattern ermitteln Allgemeine Java-Themen 7
c_sidi90 Werte an bestimmten Position aus PDF in DB sichern Allgemeine Java-Themen 2
G Position des Print Dialogs vorgeben Allgemeine Java-Themen 3
R BigDecimal, Position des Kommas Allgemeine Java-Themen 2
C Wie kann man die IText Table Position bestimmen? Allgemeine Java-Themen 3
W LayoutManager Position der Componenten nachträglich ändern Allgemeine Java-Themen 12
Z Position/Größe von Windows-Fenstern ermitteln Allgemeine Java-Themen 12
B von Array-Element auf Position in Array Allgemeine Java-Themen 7
M Position 2 Monitor Allgemeine Java-Themen 5
Q Serialisierung / Speicherung Geschwindingkeit & Aktuelle Position Allgemeine Java-Themen 7
X Position eines Gegenstandes über Webcam erkennen Allgemeine Java-Themen 11
R Google Keyword Position Allgemeine Java-Themen 11
M JTable verändert Position auf meinem JPanel Allgemeine Java-Themen 3
N InputStream erst ab gegebener Position Allgemeine Java-Themen 4
D Position des Mauszeigers setzen! Allgemeine Java-Themen 3
H Position von JTextField Allgemeine Java-Themen 2
N JSplitPane: feste Divider-Position? Allgemeine Java-Themen 8
S addAtPosition - Zahl an einer bestimmten Position einfügen Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben