Selles programmis õpite teisendama failiobjekti Java-s baidiks () ja vastupidi.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java failiklass
- Java massiivid
Enne faili teisendamist baitide massiiviks ja vastupidi eeldame, et meie src kaustas on fail test.txt .
Siin on testi.txt sisu
See on testfail.
Näide 1: teisenda fail baidiks ()
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)
Ülaltoodud programmis salvestame faili tee muutuja teekonda.
Seejärel loeme prooviploki sees readAllBytes()
meetodi abil kõik antud tee baidid .
Seejärel kasutame baidimassiivi printimiseks meetodit Arrays
' toString()
.
Kuna readAllBytes()
võime selle visata IOException
, oleme try-catch
programmis seda plokki kasutanud .
Näide 2: teisendage bait () failiks
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) ( ) ) )
Programmi käivitamisel kopeeritakse test.txt sisu faili final.txt .
Ülalolevas programmis oleme kõigi teele salvestatud faili baitide lugemiseks kasutanud sama meetodit nagu näites 1. Need baidid salvestatakse massiivi kodeeritult.
Meil on ka finalPath, kuhu tuleb kirjutada baidid.
Siis me lihtsalt kasutada Files
" write()
meetod kirjutada kodeeritud baidimassiiv oma faili antud finalPath.