Java 如何在Android中将字节数组转换为PDF文件?

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

我正在开发一个以字节数组形式获取数据的应用程序,我需要使用这个字节数组创建一个新的PDF文件。在android中如何实现这一点?

使用及其
写入(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无法打开该文件,因为它不是受支持的文件类型,或者文件已损坏。