Java 如何在Android中将字节数组转换为PDF文件?
我正在开发一个以字节数组形式获取数据的应用程序,我需要使用这个字节数组创建一个新的PDF文件。在android中如何实现这一点?使用及其Java 如何在Android中将字节数组转换为PDF文件?,java,android,Java,Android,我正在开发一个以字节数组形式获取数据的应用程序,我需要使用这个字节数组创建一个新的PDF文件。在android中如何实现这一点?使用及其写入(byte[])方法 #假设您有准备好以PDF格式写入的数据内容 还有一些适用于android的pdf编写器api 请参见: 以下是从字节数组创建PDF的方法之一 File dir = Environment.getExternalStorageDirectory(); File assist = new File("/mnt/sdcard/Sampl
写入(byte[])
方法
#假设您有准备好以PDF格式写入的数据内容
还有一些适用于android的pdf编写器api
请参见:
- 以下是从字节数组创建PDF的方法之一
File dir = Environment.getExternalStorageDirectory();
File assist = new File("/mnt/sdcard/Sample.pdf");
try {
InputStream fis = new FileInputStream(assist);
long length = assist.length();
if (length > Integer.MAX_VALUE) {
Log.e("MainActivity", "cannnottt readddd");
}
byte[] bytes = new byte[(int) length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length && (numRead = fis.read(bytes, offset, bytes.length - offset)) >= 0) {
offset += numRead;
}
File data = new File(dir, "mydemo.pdf");
OutputStream op = new FileOutputStream(data);
op.write(bytes);
} catch (Exception ex) {
Log.e("MainActivity", "" + ex.getMessage())
}
File dir=Environment.getExternalStorageDirectory();
文件辅助=新文件(“/mnt/sdcard/Sample.pdf”);
试一试{
InputStream fis=新文件InputStream(辅助);
long length=assist.length();
if(长度>整数最大值){
Log.e(“main活动”、“cannottt readddd”);
}
字节[]字节=新字节[(int)长度];
整数偏移=0;
int numRead=0;
而(偏移量=0){
偏移量+=numRead;
}
文件数据=新文件(dir,“mydemo.pdf”);
OutputStream op=新文件OutputStream(数据);
op.write(字节);
}捕获(例外情况除外){
Log.e(“MainActivity”和“+ex.getMessage())
}
您可以使用该库,它将帮助您简单地从文件转换为字节数组或从字节数组转换为文件
File mFile = new File(filePath);
FileUtils.writeByteArrayToFile(mFile, yourArray);
嗨,Jigar,我试过这个代码FileOutputStream fileos=newfileoutputstream(“Hello.pdf”);但是,当我试图打开此文件时,我收到一个错误,即Adobe Reader无法打开Hello.pdf,因为它不是受支持的文件类型,或者因为文件已损坏…假设您有准备好用pdf编写的数据内容,请参阅更新检查此错误:上述代码中的更正为file assist=new file(“/mnt/sdcard”);当我试图打开此文件时,出现一个错误,即Adobe reader无法打开该文件,因为它不是受支持的文件类型,或者文件已损坏。