2012-03-01 19 views
1

私が思うに、ファイルにバイト[]を書き込もうとしましたが、私はバイトに戻ってバイトを読み取る必要があるアプリで、後に続いて正しく読み取り/書き込みバイト配列のAndroid

String filename = "BF.dat"; 



    public void WriteByteToFile(byte[] mybytes, String filename){ 

    try { 

    FileOutputStream FOS = openFileOutput(filename, MODE_PRIVATE); 
    FOS.write(mybytes); 
    FOS.close(); 


    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

を取り組んでいます[]

 String filename = "BF.dat" 

    public byte[] ReadByteFromFile (String filename){ 

    byte[] mybytes = null; 

    try { 
     File file = new File(filename);  
     FileInputStream FIS = new FileInputStream(file); 

     mybytes = new byte[(int)file.length()]; 

      FIS.read(mybytes); 
      FIS.close(); 



    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return mybytes; 
} 

バイトが(それは通常のJavaで動作します - ではなく、アンドロイドAPKと)、このことから返却されていない私は、私はそれがアンドロイドで動作させるために必要なものはよく分かりません。ファイルにバイトを書き込む例はたくさんありますが、それらを戻す方法を説明するものは見つかりません。

曖昧になるものがある場合は、コメントしてください。必要に応じてさらに説明します。

+0

'ReadByteFromFile(...)'メソッドに渡す 'filename'は完全修飾されていますか? – Squonk

+0

完全修飾されていると同じ意味ですか?文字列filename = "BF.dat";どちらも同じです。 (これを私の質問に追加します) –

+0

dbrysonの答えを参照してください。あなたの場合は 'openFileInput'を使う必要があります。私が完全修飾されたことは、 '/ data/data /.../.../ BF.dat'のようなものでした。あなたがlogcatをチェックすると、上のコードでログに記録されている 'FileNotFoundException'が得られるはずです。 – Squonk

答えて

3

ファイルをコンテキストのプライベートストレージに書き込んでいても、そこから読み取ることはできませんか? openFileInput(filename)

+0

大丈夫、ありがとう –

関連する問題