我正在写一个应用程序,它必须通过蓝牙发送一些文件。 客户端收到一个字节数组,它必须被构建到文件中。但是只有几行数组被复制到文件中! 这里是我的线程代码,其中来自服务器的每条消息都被读取:从android中byte []写入文件失败
编辑:try/catch代码。
try {
FileOutputStream fos = new FileOutputStream("//mnt//sdcard//" + fileName);
fos.write(buffer);
fos.close();
}
catch(FileNotFoundException e) {
Log.d("FAIL", e.toString());
}
catch (IOException e) {
Log.d("FAIL", e.toString());
}
缓冲区是byte []。我甚至用Toast进行了检查:缓冲区一切正常。它包含来自文件的每个符号,但我无法以某种方式写出它。
能否详细说明'不能写'?你有错误吗?它是否创建一个0byte文件?或无? – dispake
你确定你正在'buffer'中接收整个文件吗? – m0skit0
如果出现问题,创建,写入和关闭'fos'应该抛出异常。用try/catch块封装你的代码,让我们知道它捕获了什么样的异常。 – Dylan