必威体育Betway必威体育官网
当前位置:首页 > IT技术

Android中使用file.createNewFile()无法创建文件的问题(例如保存拍照的图片到本地)

时间:2019-10-13 20:43:25来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

createnewfile

在写一个保存bitmap文件的方法的时候,遇到了题中问题。

为了不出现问题,不要直接

File f = new File(environment.getExternalStorageDirectory().getabsolutePath() + "/myfoodphoto/" + path);
f.createnewfile();

这样写会出现not found such file ...

首先先mkdir()创建根文件夹myfoodphoto,再使用file.createNewFile(),就可以了。

还需要权限

<uses-permission Android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.mount_UNMOUNT_FILESYSTEMS" />

public String saveBitmap(Bitmap mBitmap) {
        String sdStatus = Environment.getExternalStorageState();
        if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
            toast.maketext(this, "内存卡异常,请检查内存卡插入是否正确", Toast.LENGTH_SHORT).show();
            return "";
        }
        String path = system.currenttimemillis() + ".jpg";
        File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/myphoto/");
        if (!f.exists()) {
            f.mkdir();
        }
        File file = new File(f, path);
        try {
            file.createNewFile();
            Fileoutputstream fOut = new FileOutputStream(file);
            mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
            fOut.flush();
            fOut.close();
            return file.getAbsolutePath();
        } catch (IOException e) {
            e.printstacktrace();
            return null;
        }

还有就是该方法会出现ignore this method 提示,但是目前好像还是可以用的。

相关阅读

arthas启动报错,找不到tools.jar,C:\Program Files (x8

原因: 出现此问题是因为,Java自动更新后自动配置了path:C:\Program Files (x86)\Common Files\Oracle\Java\javapath。这导致我

program files和program files(x86)的区别

windows系统有32位和64位之分,现在大多数的电脑都是64位的,我们在c盘经常能看到program files和program files(x86)这样两个文件,这

php数据采集 之 关于file_get_contents的使用

 file_get_contents  函数的应用注意: 开启 php.ini 配置 中 allow_url_fopen =On;\file_get_contents 中的一些参数: 遇到

jQuery插件AjaxFileUpload实现ajax文件上传

jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个demo演示怎么用AjaxFileUpload插件实现文件上传。 1

修改vim .bash_profile

1:找到jdk的安装目录,如果是系统自带的系统的话,则目录如下: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 如

分享到:

栏目导航

推荐阅读

热门阅读