In dit programma leer je een File-object converteren naar byte () en vice versa in Java.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-bestandsklasse
- Java-arrays
Voordat we een bestand converteren naar een byte-array en vice versa, gaan we ervan uit dat we een bestand met de naam test.txt in onze src- map hebben.
Hier is de inhoud van test.txt
Dit is een testbestand.
Voorbeeld 1: bestand converteren naar byte ()
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) ( ) ) )
v
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
In het bovenstaande programma slaan we het pad naar het bestand op in het variabele pad.
Vervolgens lezen we binnen het try-blok alle bytes van het opgegeven pad met behulp van de readAllBytes()
methode.
Vervolgens gebruiken we Arrays
' toString()
methode om de byte-array af te drukken.
Omdat we readAllBytes()
een kunnen gooien IOException
, hebben we het try-catch
blok in het programma gebruikt.
Voorbeeld 2: converteer byte () naar bestand
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) ( ) ) )
Wanneer u het programma uitvoert, wordt de inhoud van test.txt gekopieerd naar final.txt .
In het bovenstaande programma hebben we dezelfde methode als in Voorbeeld 1 gebruikt om alle bytes uit het bestand te lezen dat is opgeslagen in pad. Deze bytes worden gecodeerd in de array opgeslagen.
We hebben ook een finalPath waar de bytes moeten worden geschreven.
Vervolgens gebruiken we gewoon de Files
' write()
methode om de gecodeerde byte-array naar een bestand in het opgegeven finalPath te schrijven.