beliebige Dateigröße setzen

Status
Nicht offen für weitere Antworten.
Y

Yumas

Gast
Hallo Allesamt,

ich würde gern die Größe einer Datei auf einen beliebigen Wert setzen ohne sie mit sinnlosem Inhalt aufzufüllen. Es gibt ja Funktionen wie setLength der RandomAccessFile class mit denen man die Größe durch auffüllen mit Nullen erweitert. Das hilft mir aber nicht weiter, denn ich habe vor ein File mit GigaByte Größe zu kreieren in dem aber nur einige MB mit entscheidenden Daten gefüllt sind. Hintergrund soll sein, das das File immer den kompletten Platz eines USB-Sticks ausfüllen soll, sodass nix zusätzlich drauf passt. Da ich mit den Daten arbeiten will kann ich natürlich nicht ewig auf Schreib und Lesezugriffe warten.
Gibt es eine Möglichkeit dem Dateisystem vorzugaukeln, dass die Datei größer sei als sie wirklich ist.

Gruß Yumas
 
T

tuxedo

Gast
Wo ist denn das Problem?

Bevor du deine Daten in die Datei schreibst, solltest du doch wissen können, wieviele Bytes du wirklich brauchst. Und ebenfalls weißt du, wieviel bytes auf dem Stick Platz haben.

Wenn du deine Daten jetzt wirklich auf den Stick schreibst, füllst du am Ende eben soviele FF oder 00 Bytes auf, wie noch Platz auf dem Stick ist. Fertig.

Beim auslesen solltest du halt wissen wie groß die Daten sind die du in der File gespeichert hast. Notfalls halt VOR die eigentlichen Daten einen Int oder Long-Wert platzieren, der die Anzahl an wirklich benutzen Bytes beschreibt, so dass du beim auslesen auf diese Information zurückgreifen kannst.

Anders wirds nicht wirklich gehen ...

- Alex
 
Y

Yumas

Gast
Wo ist denn das Problem?
@ tuxedo: Das es bei deinem Vorgehen (Auffüllen mit Nullen) ewig dauert bis ein File von bsp. einem Gig angelegt ist. Dennoch mach ich es bereits so, und versuche nur die Änderungen zu übernehmen und nicht das ganze File neu zu schreiben. Ist etwas mehr Arbeit, aber ich will mich ja nicht vor Arbeit drücken. :D

Gruß Yumas
 
T

tuxedo

Gast
Ist es mit NIO nicht auch möglich eine Datei zu öffnen, an eine bestimmte Stelle zu springen und dort zu schreiben?! Bin mir nicht sicher, aber ich glaube das "könnte" gehen.

Wenn nicht, vielleicht ist es allg. schneller wenn du NIO Methoden zum schreiben der File nimmst.

- Alex
 

Ariol

Top Contributor
Geht doch auch mit Java:

Code:
RandomAccessFile raf = new RandomAccessFile(new File("TESTFILE"), "rw");
		long kilobyte = 1024;
		long megabyte = kilobyte*1024;
		long gigabyte = megabyte*1024;
		raf.setLength(gigabyte);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
JavaJüngling beliebige Collection die Comperable Elemente enthält als Parameter Allgemeine Java-Themen 37
M Pi beliebige Nachkommastellenberechnung Allgemeine Java-Themen 5
QDog beliebige Objekte vergleichen Allgemeine Java-Themen 2
H Speicherstruktur für beliebige Bit-Codes Allgemeine Java-Themen 2
S Beliebige Dateiinformationen auslesen z.B. Letzter Zugriff Allgemeine Java-Themen 4
K beliebige Objekte vergleichen Allgemeine Java-Themen 10
M beliebige Zelle farbig machen Allgemeine Java-Themen 7
M Value als String in beliebige Klasse konvertieren Allgemeine Java-Themen 18
V Bilddaten in Textform speichern -> Dateigröße? Allgemeine Java-Themen 3
G Dateigröße ermitteln Allgemeine Java-Themen 4
S Wie Dateigröße ermitteln Allgemeine Java-Themen 5
F Dateigröße eines entfernen Images ermitteln Allgemeine Java-Themen 3
U Dateigröße ermitteln? Allgemeine Java-Themen 3
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
Y Bild in JPanel setzen Allgemeine Java-Themen 2
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
JavaNewbie2.0 Anführungszeichen setzen Allgemeine Java-Themen 3
OnDemand FTP4J Rechte setzen Allgemeine Java-Themen 1
J Mausposition setzen Allgemeine Java-Themen 2
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
N event_scheduler richtig setzen? Allgemeine Java-Themen 1
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
F JTextArea Cursor in die nächste Zeile setzen Allgemeine Java-Themen 2
G JDK setzen Allgemeine Java-Themen 4
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
D ClassLoader für Variablen einer Klasse setzen Allgemeine Java-Themen 24
C Datentypen int in bytes zerlegen und wieder zusammen setzen Allgemeine Java-Themen 13
M Session-Parameter setzen? Allgemeine Java-Themen 10
D Alle Variablen final setzen ? Allgemeine Java-Themen 26
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
T HTTP Skript für Passwortgeschützte Seite :: Häkchen setzen und Download Allgemeine Java-Themen 4
L Variablen Systemvariablen setzen Allgemeine Java-Themen 3
G JNDI Context setzen Allgemeine Java-Themen 3
S "Working Directory" setzen..? Allgemeine Java-Themen 3
A Datei als Object einlesen und das Object als Singleton instance setzen. Allgemeine Java-Themen 13
V Priorität der Event-Handlings setzen Allgemeine Java-Themen 4
N Timeout setzen Allgemeine Java-Themen 10
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
S String intelligent zusammen setzen Allgemeine Java-Themen 8
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
N ranges setzen Allgemeine Java-Themen 5
O getRuntime().Exec() - Environment - Variablen setzen? Allgemeine Java-Themen 2
G Proxy- Server setzen Allgemeine Java-Themen 2
thE_29 Rechnungen (Sättigung setzen) verschnellern Allgemeine Java-Themen 13
M nichtreferenzierte Objekte auf NULL setzen -> Performance Allgemeine Java-Themen 4
M Focus setzen - Frage zu FAQ Artikel Allgemeine Java-Themen 6
reibi Priorität setzen bei Thread Allgemeine Java-Themen 11
0 Taste setzen Allgemeine Java-Themen 2
B Listener dynamisch setzen Allgemeine Java-Themen 6
F Werte von Member-Variablen erst im Konstruktor setzen? Allgemeine Java-Themen 7
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
0 Timeout für Thread setzen? Allgemeine Java-Themen 2
MQue Objektvariablen setzen Allgemeine Java-Themen 3
MQue Button Attribute setzen Allgemeine Java-Themen 14
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
P JNI_CreateVM und -Xms –Xmx setzen Allgemeine Java-Themen 10
R Array komplett auf null setzen Allgemeine Java-Themen 10
B Choice setzen Allgemeine Java-Themen 5
O Environment Variable Setzen Allgemeine Java-Themen 2
O Schreibrechte setzen? Allgemeine Java-Themen 4
TheJavaKid Focus für KeyListener setzen Allgemeine Java-Themen 5
D Position des Mauszeigers setzen! Allgemeine Java-Themen 3
S Odnericon neu setzen/auslesen etc. Allgemeine Java-Themen 2
G Konsoleneingabe: vordefinierte werte setzen? geht das? Allgemeine Java-Themen 4
foobar java.library.path Property setzen Allgemeine Java-Themen 5
Z Parallel Port, setzen der einzelnen Pins Allgemeine Java-Themen 4
C Setzen der Cursorposition Allgemeine Java-Themen 2
G Standard-Drucker mit Java setzen Allgemeine Java-Themen 4
T Classpath per Java Programm setzen Allgemeine Java-Themen 9
D jdic classpath setzen Allgemeine Java-Themen 2
S Grafiken/ImageIcon setzen Allgemeine Java-Themen 24
S File Encoding im Programm setzen? Allgemeine Java-Themen 3
clemson Umgebungsvariable setzen und lesen Allgemeine Java-Themen 9
F Verfügbaren Heap-Speicher setzen Allgemeine Java-Themen 2
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2
C Objekte null setzen? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben