【发布时间】:2014-08-27 15:46:15
【问题描述】:
我知道有人对此有疑问,但出于某种原因,似乎没有什么对我有用。 我正在尝试从我的应用程序中获取 2 个文本文件以保存到 SD 卡中。它正确创建目录和文件,但始终创建到内部存储,而不是外部存储。我在 Manifest 中也有适当的权限。
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 卡。有什么我做错了吗?还有一个后续问题是我有办法使用上面的代码来使文件对用户不可见。他们应该没有理由打开它们。提前致谢。
【问题讨论】:
-
Android 保存到默认存储。您必须在设备系统设置中手动设置默认存储
-
Android API 实际上并没有为您提供获取设备 SD 卡的方法。 getExternalStorageDirectory 方法将返回默认的共享存储,可能是也可能不是 SD 卡。
-
感谢您的信息。我还有很多东西要学。我还有一个问题。我知道放一个“。”在文件或目录名称前面使其不可见,但这是否也意味着应用程序也无法读取它?我正在对此进行试验,当有“。”时,我的应用程序无法读取/写入文件。在他们的名字前面。
标签: android file external private