Tôi cần chuyển đổi mảng pdf sang byte và ngược lại.Mảng PDF sang byte và ngược lại
Bất kỳ ai có thể giúp tôi không?
Đây là cách tôi đang chuyển sang mảng byte
public static byte[] convertDocToByteArray(String sourcePath) {
byte[] byteArray=null;
try {
InputStream inputStream = new FileInputStream(sourcePath);
String inputStreamToString = inputStream.toString();
byteArray = inputStreamToString.getBytes();
inputStream.close();
} catch (FileNotFoundException e) {
System.out.println("File Not found"+e);
} catch (IOException e) {
System.out.println("IO Ex"+e);
}
return byteArray;
}
Nếu tôi sử dụng mã sau đây để chuyển đổi nó trở lại tài liệu, pdf được nhận được tạo ra. Nhưng nó nói rằng 'Bad Format. Not a pdf'
.
public static void convertByteArrayToDoc(byte[] b) {
OutputStream out;
try {
out = new FileOutputStream("D:/ABC_XYZ/1.pdf");
out.close();
System.out.println("write success");
}catch (Exception e) {
System.out.println(e);
}
Đó là một cách khủng khiếp của việc đọc dữ liệu - vui lòng đừng cho rằng có sẵn() sẽ chứa tất cả các dữ liệu trong một suối. –
@Jon - seconded. available() sẽ (thường) trả về số byte có thể đọc ngay lập tức mà không bị chặn. Nó có rất ít để làm với bao nhiêu dữ liệu thực sự trong tập tin .. –