当前位置: 首页 > 面试题库 >

将文件写入sdcard

羊舌洛华
2023-03-14
问题内容

我正在尝试从Http帖子回复文件写入 sdcard 上的文件。一切正常,直到检索到字节数据数组为止。

我尝试WRITE_EXTERNAL_STORAGE在清单中设置权限,并尝试了许多在网上找到的教程的不同组合。

我所能找到的只是使用活动的openFileOutput("",MODE_WORLD_READABLE)方法,但是我的应用程序如何通过线程来写入文件。具体来说,当必须写入文件时,会从另一个线程中调用一个线程,因此即使我尝试了活动对象,也无法使用它。

该应用程序已经走了很长一段路,我无法更改当前编写该应用程序的方式。

拜托,有人帮我吗?

代码

File file = new File(bgdmanip.savLocation);
FileOutputStream filecon = null;
filecon = new FileOutputStream(file);

byte[] myByte;
myByte = Base64Coder.decode(seReply);

bos.write(myByte);
filecon.write(myByte);
myvals = x * 11024;

bgdmanip.savLocation保存整个文件路径。seReplyHttpPost响应的字符串回复。第二组代码参考进行循环x。文件已创建,但仍为0字节。


问题答案:

openFileOutput()方法将数据写入应用程序的专用数据区域(而不是SD卡),因此可能不是您想要的。您应该能够调用Environment.getExternalStorageDirectory()以获取SD卡的根路径,并使用该路径创建一个FileOutputStream。从那里开始,只需使用标准的java.io例程。



 类似资料:
  • 问题内容: 我将如何将javafx.scene.image.Image图像写入文件。我知道您可以在BufferedImages上使用ImageIO,但是有什么方法可以使用javafx图像吗? 问题答案: 差不多3年后,我现在有知识去做并回答这个问题。是的,原始答案也是有效的,但它涉及到先将图像转换为BufferedImage,我理想上想完全避免摆动。虽然这确实会输出图像的原始RGBA版本,足以满足

  • 我在做一个CSC 110项目。尽管我们还没有学过字典,我还是试着用字典来完成我们的作业。 我有一份国家和他们赢得多少奖牌的档案,用新的行字符隔开。例如: 虽然这是有效的,但它是肮脏和过于复杂。我正想出一个新方法来做这件事。

  • 问题内容: 我正在尝试将不同语言的字符串写入rtf文件。我尝试了一些不同的东西。我在这里以日语为例,但是我尝试过的其他语言也是如此。 我还尝试过: 或更具体: 输出流还具有writeUTF方法: 您可以使用write方法在输出流中直接使用byte []。以上所有内容使我发现西欧语言以外的所有字符都乱码。为了查看它是否有效,我尝试在notepad ++中打开结果文档并设置适当的编码。我也使用过Ope

  • 问题内容: 将结构转储到提供的csv文件中的惯用golang方法是什么?我在一个func里面,我的结构作为接口{}传递: 为什么要使用界面{}?-从JSON读取数据,可能会返回一些不同的结构,因此尝试编写足够通用的函数。 我的类型的一个例子: 问题答案: 如果您使用具体类型,将会容易得多。您可能想要使用该软件包,这是一个相关示例;https://golang.org/pkg/encoding/cs

  • 问题内容: 考虑以下功能 在下一行中每次添加要写入的内容? 例如,我想要给定字符串的每个单词在单独的lline中,例如: 写道: 问题答案: 要将文本(而不是原始字节)写入文件,应考虑使用FileWriter。您还应该将其包装在BufferedWriter中,这将为您提供newLine方法。 要将每个单词写在新行上,请使用String.split将您的文本分成单词数组。 因此,这是对您的要求的简单

  • 问题内容: 我正在尝试将大的ResulSet(〜1mm行)写入单个文件。在Java 1.6中,有没有一种首选/有效的方法来做到这一点? 问题答案: 这取决于所使用的JDBC驱动程序。您需要指示JDBC驱动程序 不要事先将其全部加载到Java内存中,而应在每次调用时逐行加载。然后,在循环内部,您需要 立即 将数据写入文件,而不是将其保存在文件中。 不清楚您使用的是哪种JDBC驱动程序,但是例如,可以