ho bisogno di allocare file con dimensioni nei pressi di 50 gigabyte, ma questo codice:Allocare Grandi file per
RandomAccessFile out = new RandomAccessFile("C:\\hello.txt", "rw");
out.setLength(50 * 1024 * 1024 * 1024); // 50 giga-bytes
genera un'eccezione:
Exception in thread "main" java.io.IOException: Попытка поместить указатель на файл перед началом файла
at java.io.RandomAccessFile.setLength(Native Method)
at Experiment.main(Experiment.java:8)
: Il tentativo di spostare il puntatore del file prima dell'inizio del file .
Quando provo ad allocare 50 megabyte tale eccezione non getta. Lo spazio libero del disco è molto più grande della dimensione del file necessaria.
50 gb (50 * 1024^3) è più grande rispetto alla dimensione massima di un numero intero (2^32) quindi non è possibile utilizzare una dimensione di file così grande in java. – msrd0
Sì, è possibile avere un file così grande utilizzando un operando lungo. – PeterMmm
FYI se si specifica 'C:/hello.txt' Java convertirà/in \ –