gpt4 book ai didi

java - 在 android 中从 byte[] 写入文件失败

转载 作者:行者123 更新时间:2023-11-30 03:59:06 26 4
gpt4 key购买 nike

我正在编写一个必须通过蓝牙发送一些文件的应用程序。客户端收到一个字节数组,然后必须将其构造到文件中。但是只有数组中的几行被复制到文件中!这是我的线程代码,其中读取来自服务器的每条消息:

编辑: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:缓冲区一切正常。它包含文件中的每个符号,但我无法以某种方式全部写入。

最佳答案

您永远不应该像以前那样对文件路径进行硬编码。

在android中,你应该使用Environment.getExternalStorageDirectory

String fname = Environment.getExternalStorageDirectory() + "myfile.jpg";
File file = new File( fname );

如果您没有在文件路径中指定 Environment.getExternalStorageDirectory,它将在您的应用程序安装文件夹中返回。

在你的例子中,这个文件可能写在“com.your.package/test.jpg”

关于java - 在 android 中从 byte[] 写入文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12829492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com