English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai come convertire un oggetto File in un array di byte in Java e viceversa.
Prima di convertire un file in un array di byte (o viceversa), presupponiamo che insrcLa cartella contiene un file chiamatotest.txtil file.
Questo ètest.txtcontenuto
Questo è un Test file.
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; public class FileByte { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; try { byte[] encoded = Files.readAllBytes(Paths.get(path)); System.out.println(Arrays.toString(encoded)); } catch (IOException e) { } } }
Quando si esegue questo programma, l'output è:
[84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46]
In questo programma, stiamo memorizzando il percorso del file nella variabile path.
Poi, all'interno del blocco try, abbiamo utilizzato il metodo readAllBytes() per leggere tutti i byte dal percorso fornito.
Poi, abbiamo utilizzato il metodo toString() dell'array per stampare l'array di byte.
Poiché readAllBytes() potrebbe generare IOException, abbiamo utilizzato un blocco try-catch nel nostro programma.
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class ByteFile { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; String finalPath = System.getProperty("user.dir") + "\\src\\final.txt"; try { byte[] encoded = Files.readAllBytes(Paths.get(path)); Files.write(Paths.get(finalPath), encoded); } catch (IOException e) { } } }
Al runtime del programmatest.txtIl contenuto difinal.txt.
Nel programma sopra, utilizziamo lo stesso metodo di esempio 1 per leggere tutti i byte dal File memorizzato in path. Questi byte sono memorizzati nell'array encoded.
Abbiamo anche un finalPath per scrivere byte
Poi, utilizziamo solo il metodo write() di Files per scrivere l'array di byte codificato nel file finalPath specificato.