将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 关注
- 864 浏览
添加回答
举报
0/150
提交
取消