2011-12-27 28 views
4

私はバイト配列の形式でデータを取得しているアプリケーションで作業しています。新しいPDFファイルを作成するためにこのバイト配列を使用する必要があります。私はアンドロイドでこれを達成できますか?バイト配列をAndroidのPDFファイルに変換するには?

+0

これをチェックしてください: ogzd

答えて

1

使用FileOutputStream、あなたはアンドロイド

ために利用可能ないくつかのPDFライターのAPIもありますPDFに

を書かされる準備ができているデータ内容を持っていると仮定すると、そのwrite(byte[])方法

+0

こんにちはJigar、私はこのコードを試してみましたFileOutputStream fileos =新しいのFileOutputStream ( "Hello.pdf"); このファイルを開こうとすると、Adobe ReaderがHello.pdfを開くことができないというエラーが表示されます。ファイルタイプがサポートされていないか、ファイルが破損しているためです。 – Taruni

+0

_データの取得PDFで書き込む準備ができているコンテンツ_、更新 –

2

このコードを試してみてください、それは私のために働きました。

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("Sorry! Your given file is too large.","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); 

作成されたmydemo.pdfは、あなたのsdcardに保存されます。

+0

を参照してください。上記のコードの修正はFile assist = new File( "/ mnt/sdcard")です。 – Taruni

+0

私はこのファイルを開こうとしているとき、私は、ファイルタイプがサポートされていないか、またはファイルが壊れているため、Adobe Readerがファイルを開くことができないというエラーです。 – Taruni

0

ファイルからバイト配列またはバイト配列からファイルに変換するのに役立つCommon IOライブラリを使用できます。

File mFile = new File(filePath); 
    FileUtils.writeByteArrayToFile(mFile, yourArray); 
関連する問題