В тази програма ще се научите да конвертирате обект на файл в байт () и обратно в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java File Class
- Java масиви
Преди да преобразуваме файл в байтов масив и обратно, предполагаме, че имаме файл с име test.txt в нашата папка src .
Ето съдържанието на test.txt
Това е тестов файл.
Пример 1: Конвертиране на файл в байт ()
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)
В горната програма съхраняваме пътя към файла в променливата пътека.
След това, вътре в блока try, четем всички байтове от дадения път, използвайки readAllBytes()
метод.
След това използваме метода Arrays
' toString()
за отпечатване на байтовия масив.
Тъй като, readAllBytes()
може да хвърлим IOException
, използваме try-catch
блока в програмата.
Пример 2: Преобразуване на байт () във файл
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) ( ) ) )
Когато стартирате програмата, съдържанието на test.txt се копира в final.txt .
В горната програма използвахме същия метод като пример 1, за да прочетем всички байтове от файла, съхранен в пътя. Тези байтове се съхраняват в кодирания масив.
Имаме и finalPath, където трябва да се запишат байтовете.
След това просто използваме метода Files
' write()
, за да запишем кодирания байтов масив във файл в дадения finalPath.