gpt4 book ai didi

java - Android 将图像存储在隐藏文件夹中

转载 作者:行者123 更新时间:2023-12-01 11:50:18 26 4
gpt4 key购买 nike

我正在从服务器下载图像并将它们存储在设备内部存储的文件夹中。这是代码:

//Here I create the folder
File folder = new File(Environment.getExternalStorageDirectory() + "/myfolder");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
startDownload();

函数startDownload()连接到一个php页面并将图像从服务器下载到指定的目录。当进入我的设备中的文件管理器时,会显示文件夹及其内容。无论如何,我可以将图像下载到隐藏目录,这样用户就看不到图像吗?

最佳答案

这是基本的Linux知识。在文件前面加上“.”(例如,该文件等于 .myFolder),将默认情况下将其从文件管理器中隐藏起来。但是,大多数文件管理器还可以选择显示隐藏文件,因此请考虑到这一点。

如果您真的不想让用户看到这些文件,我建议您使用私有(private)内部存储。我们可以通过以下方式实现这一点:

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
//fos.write(string.getBytes()); writes string to file
fos.close();

我想你的程序的下载部分会使用某种OutputStream。使用我们在上面的代码 fragment 中定义的 FileOutputStream,而不是您现在拥有的 OutputStream,您将写入私有(private)内部存储!

这还有一个额外的好处,即在用户卸载时清除所述文件,而写入外部 SD 会在卸载后将应用程序的 fragment 留在 SD 卡上,除非明确删除

另外,请访问官方文档here .

关于java - Android 将图像存储在隐藏文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28849090/

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