![](/img/trans.png)
[英]Android Saving a file to internal memory works while to Sd card fails
[英]Android saving file to SD Card, not internal storage
我知道有人对此有疑问,但由于某种原因,似乎对我没有任何帮助。 我正在尝试将2个文本文件从我的应用保存到SD卡。 它会正确创建目录和文件,但始终创建内部存储器,而不是外部存储器。 我确实在清单中也有相应的权限。
try {
File sdCard = Environment.getExternalStorageDirectory();
File myFile = new File(sdCard.getAbsolutePath() + "/rlgl");
myFile.mkdir();
// myFile.createNewFile();
String newLine = System.getProperty("line.separator");
File file = new File(myFile, "rlgls.txt");
if(file.exists()) {
} else if (!file.exists()){
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
for (int i = 0; i < 30; i++) {
myOutWriter.append("0.0" + newLine);
}
myOutWriter.close();
fOut.close();
}
} catch (IOException e) {
e.printStackTrace();
}
这是我正在使用的代码。 我遵循了其他Stackoverflow响应的指示,但从未使用过SD卡。 我做错了什么吗? 还有一个后续问题,我是否可以使用上面的代码来使文件对用户不可见。 他们应该没有理由打开它们。 提前致谢。
它会正确创建目录和文件,但始终会创建内部存储,而不会创建外部存储
不,它将它们放置在外部存储上。 用户看到的是内部存储,而开发人员看到的是外部存储 。 内部存储可通过类似getFilesDir()
方法进行访问。 而且这些都不是可移动存储 ,例如某种形式的SD卡。
还有一个后续问题,我是否可以使用上面的代码来使文件对用户不可见。 他们应该没有理由打开它们。
然后将它们放在内部存储中。
出现“。”时,我的应用程序无法从文件读取/写入文件。 在他们的名字前面
我觉得很难相信。 的.
前缀使它们在某些文件浏览器中默认不显示,仅此而已。 用户可以访问它们(如果它们位于外部存储设备上),而应用程序可以访问它们(与其他文件一样,遵循相同的规则,没有前导.
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.