如何在没有SD卡的情况下保存文件



我有一个没有存储卡的设备,我想保存文件。我试过:

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;
}

阅读本文以将文件保存在内部和外部存储器中。

相关内容

  • 没有找到相关文章