我有一个没有存储卡的设备,我想保存文件。我试过:
filePath = Environment.getDataDirectory().toString();
/数据/。。。。 EACCES(权限被拒绝)
filePath = Environment.getDownloadCacheDirectory().toString();
/缓存/。。。。 EACCES(权限被拒绝)
和
filePath = Environment.getRootDirectory().toString();
/系统/。。。。 EROFS(只读文件系统)
还有其他办法吗??(对不起我的英语:P)
尝试将文件写入内部存储,在您的应用程序本地空间中,文件将写入类似 ,下面的代码可能会在这方面为您提供帮助
FileOutputStream fOut = null;
OutputStreamWriter osw = null;
try{
fOut = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
osw = new OutputStreamWriter(fOut);
osw.write("yourString data");
osw.close();
fOut.close();
}catch(Exception e){
e.printStackTrace(System.err); }
你可以试试这个。我正在使用它来存储下载图像
String cacheDir=
context.getCacheDir();
File file= new File(cacheDir,
"test.dat");
FileOutputStream out = new
FileOutputStream(file);
将文件保存在内部存储器中,但看不到保存在内部存储器中的文件。
使用此代码将文件保存在内部存储器中。
public boolean saveImageToInternalStorage(Bitmap image,Context context)
{
try {
FileOutputStream fos = context.openFileOutput("photo.jpg", Context.MODE_WORLD_READABLE);
image.compress(Bitmap.CompressFormat.JPEG, 100, fos);
// 100 means no compression, the lower you go, the stronger the compression
fos.close();
return true;
}
catch (Exception e) {
Log.e("saveToInternalStorage()", e.getMessage());
}
return false;
}
阅读本文以将文件保存在内部和外部存储器中。