将Android文件保存到外部存储在创建一个目录并在我的Android应用程序上将一个文件保存到它时,我遇到了一个小问题。我用这段代码来做这件事:String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";File file = new File(Environment.getExternalStorageDirectory(),
filename);FileOutputStream fos;fos = new FileOutputStream(file);fos.write(mediaTagBuffer);fos.flush();fos.close();但它带来了一个例外:java.io.FileNotFoundException:/mnt/sdCard/myApp/mediacard/mediacard-0.png(没有此类文件或目录)在这方面:fos = new FileOutputStream(file);如果我将文件名设置为:"MyApp/MediaTag-"+objectId+"它正在工作,但如果我试图创建文件并将其保存到另一个目录,则会抛出异常。你知道我做错了什么吗?还有另一个问题:是否有任何方法使我的文件在外部存储中是私有的,这样用户就不能在图片库中看到它们,除非他将设备连接为Disk Drive?
3 回答
精慕HU
TA贡献1845条经验 获得超8个赞
< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
public boolean saveImageOnExternalData(String filePath, byte[] fileData) {
boolean isFileSaved = false;
try {
File f = new File(filePath);
if (f.exists())
f.delete();
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
fos.write(fileData);
fos.flush();
fos.close();
isFileSaved = true;
// File Saved
} catch (FileNotFoundException e) {
System.out.println("FileNotFoundException");
e.printStackTrace();
} catch (IOException e) {
System.out.println("IOException");
e.printStackTrace();
}
return isFileSaved;
// File Not Saved
}- 3 回答
- 0 关注
- 935 浏览
添加回答
举报
0/150
提交
取消
