在Android中从文件读取

3
在下面的代码中:
fileInputStream = new FileInputStream(new File(pathToOurFile) );
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
bytesRead = fileInputStream.read(buffer, 0, bufferSize);

打印缓冲区给出了一些随机值,而不是文件中实际存在的值。 buffersize 正确计算了文件的大小。
你能告诉我出了什么问题吗?


可能你正在读取错误的文件。请检查文件位置和内容。 - KV Prajapati
请展示你的其余代码,包括maxBufferSize以及如何打印缓冲区。 - Jack
代码的其余部分没问题,现在我尝试了另一种方式,它可以工作。 - Vishal
1个回答

1
尝试这个..
 private void ReadFile(AssetManager manager, String sourceFileName,
        String destinationFileName) throws IOException {

    // Read file from AccessManager
    InputStream inputStream = manager.open(sourceFileName);
    OutputStream outputStream = new FileOutputStream(destinationFileName);
    Log.d("-->", "src: " + sourceFileName);
    Log.d("-->", "Des: " + destinationFileName);
    byte[] buffer = new byte[3072];
    int length;
    while ((length = inputStream.read(buffer)) > 0) {

        outputStream.write(buffer, 0, length);

    }

    outputStream.flush();
    outputStream.close();
    inputStream.close();

    outputStream = null;
    inputStream = null;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接