große errechnete datenmengen sofort in datei schreiben?

Status
Nicht offen für weitere Antworten.

analogo

Mitglied
hallo,

ich möchte 256 ganzzahlenwerte per zufall in bestimmten bereichen errechnen lassen, was nach 256 bytes wieder von vorne anfängt. diese schleife wird 256 mal durchlaufen (also insgesamt 65536 entstehende bytes).. wie kann man diese zwischenspeichern und dann komplett in eine datei schreiben? will meiner festplatte schließlich net zuviel zumuten.. :)

ein weiteres problem hab ich, da an die entstandene datei eine noch größere menge von bytes angehängt werden soll, die aber immer gleich sind. sollte ich diese einfach in einer extra-datei speichern, diese einlesen und der entstandenen anfügen? wie macht man das am geschicktesten?

bitte mit kurzem beispiel.. :)

danke!!
 
B

Beni

Gast
Benutz einen "java.io.BufferedOutputStream". Da kannst du reinschreiben, und irgendwann entleert sich der Stream auf die Festplatte.

Und zum anderen: du kannst eine Datei wieder öffnen, und hinten was reinschreiben. Dazu musst du nur einen neuen FileOutputStream erstellen, und für den Parameter "append" "true" übergeben (im Konstruktor).
 

analogo

Mitglied
hi beni..

kannst mir vielleicht ein kurzes beispiel geben? ;)

würde schon ganz gern eine neue datei erzeugen und den inhalt der bytes, die immer gleich sind, hinten anfügen, da ich mit einem durchlauf mehrere etstehende dateien erzeugen möchte..
 
B

Beni

Gast
Gar nicht schwierig:
Code:
OutputStream out = new BufferedOutputStream( new FileOutputStream( "eineBereitsExistierendeDatei", true ));

out.write( ... );

out.close();
 

analogo

Mitglied
hi beni..

soll ich dann am besten sofort jedes einzelne errechnete byte an den buffered stream abgeben? oder wie macht man das?

wie kann man den immer gleichbleibenden datei-inhalt am besten importieren und weiterleiten an den outputstream zum schluss, sodass es an der entstandenen datei angefügt wird?

thanxxx!
 

analogo

Mitglied
habe jetzt mal folgendes listing ausprobiert, um den inhalt der datei blatt1.syx in die zu erzeugende datei test.syx zu kopieren:

Code:
import java.io.*;
import java.util.*;

class sunsyn5
{
  public static void main(String args[])
  {
    try
    {
      InputStream in = new BufferedInputStream(new FileInputStream("blatt1.syx", true));
      OutputStream out = new BufferedOutputStream(new FileOutputStream("test.syx", true));
      out.write(in.read());
      in.close();
      out.close();
    }
    catch(IOException ex)
    {
      ex.printStackTrace();
    }
  }
}

dabei erscheint folgende fehlermeldung:

Code:
Compiliere D:\_1 sunsyn programm\java\test\sunsyn5.java mit Java-Compiler
sunsyn5.java:10: cannot find symbol
symbol  : constructor FileInputStream(java.lang.String,boolean)
location: class java.io.FileInputStream
      InputStream in = new BufferedInputStream(new FileInputStream("blatt1.syx", true));
                                               ^
1 error


mit der abänderung folgender zeile funktioniert es auch net (die datei hat 125958 bytes):

Code:
      out.write(in.read(byte[] 125958));

dabei werden folgende fehler ausgegeben:

Code:
Compiliere D:\_1 sunsyn programm\java\test\sunsyn5.java mit Java-Compiler
sunsyn5.java:12: '.class' expected
      out.write(in.read(byte[] 125958));
                               ^
sunsyn5.java:12: ')' expected
      out.write(in.read(byte[] 125958));
                                       ^
2 errors


was mache ich verkehrt??
 

analogo

Mitglied
mit folgendem listing funktioniert es endlich, jedoch wird nur 1 byte in der entstehenden datei test.syx gespeichert:

Code:
import java.io.*;
import java.util.*;

class sunsyn5
{
  public static void main(String args[])
  {
    try
    {
      InputStream in = new BufferedInputStream(new FileInputStream("blatt1.syx"));
      OutputStream out = new BufferedOutputStream(new FileOutputStream("test.syx", true));
      out.write(in.read(new byte[125958]));
      in.close();
      out.close();
    }
    catch(IOException ex)
    {
      ex.printStackTrace();
    }
  }
}

was muss ich machen, damit er alle 125958 bytes der datei blatt1.syx in test.syx speichert bzw. wie muss ich folgende funktion der FileInputStream klasse einbauen?

Code:
int read(byte[] b) // Reads up to b.length bytes of data from this input stream into an array of bytes.

thanxxxxx!!!!!!!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Arbeitsfeld in gleich große Bereiche einteilen Java Basics - Anfänger-Themen 2
G Best Practice Wie große "Tabellen" effizient durchsuchen und Daten händeln? Java Basics - Anfänger-Themen 15
C Große Zahlen vergleichen Java Basics - Anfänger-Themen 19
S 4 große Textdateien zu einer Mergen Java Basics - Anfänger-Themen 5
K Große Datenliste Java Basics - Anfänger-Themen 2
E Große Datenmengen effizient in CSV File speichern Java Basics - Anfänger-Themen 4
1 Extrem große Variable Java Basics - Anfänger-Themen 1
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
M Mergesort Aufgabe große Probleme Java Basics - Anfänger-Themen 9
P Schneller Quadratzahltest für beliebig große natürliche Zahlen Java Basics - Anfänger-Themen 2
T Scanner für große Textdatei Java Basics - Anfänger-Themen 11
N Input/Output Große Dateien schnell Speichern/auslesen Java Basics - Anfänger-Themen 16
B große jpeg verarbeiten Java Basics - Anfänger-Themen 8
K Große Gleitkommazahlen runden Java Basics - Anfänger-Themen 8
X Compiler-Fehler javac - 08 eine zu große int? Java Basics - Anfänger-Themen 11
turmaline String teilen in gleich große strings Java Basics - Anfänger-Themen 15
F Große Potenzen berechnen Java Basics - Anfänger-Themen 6
J Große .txt einlesen - Idee? Java Basics - Anfänger-Themen 16
E Datentypen Große Zahl erzeugen Java Basics - Anfänger-Themen 5
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
F Große Daten und große Array Java Basics - Anfänger-Themen 21
O Performant große Dateien durchsuchen Java Basics - Anfänger-Themen 8
J Große animierte Gif preloaden und solange mit einer nicht animierten ersetzen Java Basics - Anfänger-Themen 5
Povlsen84 Datentypen Große, sortierte, schnelle Datenstruktur Java Basics - Anfänger-Themen 9
H Große Projekte mit Java - Ausführbare Datei Java Basics - Anfänger-Themen 2
K Eclipse EMF und das große HÄ? Java Basics - Anfänger-Themen 5
T .split(";") nicht gleich große arrays werden erzeu Java Basics - Anfänger-Themen 2
G String aus Zahlen multiplizieren -> unendlich große ! Java Basics - Anfänger-Themen 13
M Spielt der Debugger bei java eine große Rolle Java Basics - Anfänger-Themen 3
C große Matrizen, Performance, (Pointer?) Java Basics - Anfänger-Themen 6
L JTextArea große setzen Java Basics - Anfänger-Themen 5
S große probleme mit java Java Basics - Anfänger-Themen 6
R große Datenmenge in Datei schreiben Java Basics - Anfänger-Themen 8
M FileOutputStream und zu große Zahlen! Java Basics - Anfänger-Themen 10
J Große *.Text Datei zum verschicken in viele kleine Java Basics - Anfänger-Themen 7
B Probleme große Strings zu schreiben Java Basics - Anfänger-Themen 2
S Große Text dateien einbinden Java Basics - Anfänger-Themen 3
R große Zahlen Java Basics - Anfänger-Themen 4
R Große Zahlen Java Basics - Anfänger-Themen 3
T Große Zahlen aufgesplittet in verketteter Liste speichern Java Basics - Anfänger-Themen 4
N Große Probleme mit StingBuffer und Array Java Basics - Anfänger-Themen 2
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
J Umgang mit großen Datenmengen Java Basics - Anfänger-Themen 9
B Effektive Implementierung für Darstellung großer Datenmengen in Jogl Java Basics - Anfänger-Themen 5
I Datenmengen in datensätze reduzieren Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben