2

尝试将 byte[] 写入文件,我认为该文件工作正常

   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();
    }
}

然后稍后在应用程序中,我需要将字节读回 byte[]

       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中工作 - 但不适用于android apk)我不确定我需要什么才能让它在android中工作。有很多将字节写入文件的示例,但我找不到任何解释如何取回它们的示例。

如果有任何含糊之处,请发表评论,如果需要,我会解释更多。

4

1 回答 1

3

可能是您正在将文件写入上下文的私有存储但没有从那里读回它?尝试读取文件openFileInput(filename)

于 2012-03-01T01:53:23.240 回答