Android 往文件夹写入图片

我现在要实现个功能,就是把Android项目中的一个图片放入SD卡中指定的文件夹,请问怎么做呢。希望能写下代码让我也能借鉴下,不胜感激!... 我现在要实现个功能,就是把Android项目中的一个图片放入SD卡中指定的文件夹,请问怎么做呢。希望能写下代码让我也能借鉴下,不胜感激! 展开
 我来答
woshidaniel
推荐于2016-03-10 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:957万
展开全部

步骤:

1、AndroidManifest.xml中配置SD卡写权限

 <!-- 往SDCard写入数据权限 --> 
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>

2、java代码往SD卡写入图片信息

public static void saveBitmapToFile(Bitmap bitmap, String _file)  
        throws IOException {BufferedOutputStream os = null;  
    try {  
        File file = new File(_file);  //新建图片
        int end = _file.lastIndexOf(File.separator);  
        String _filePath = _file.substring(0, end); //获取图片路径 
        File filePath = new File(_filePath);  
        if (!filePath.exists()) {  //如果文件夹不存在,创建文件夹
            filePath.mkdirs();  
        }  
        file.createNewFile();  //创建图片文件
        os = new BufferedOutputStream(new FileOutputStream(file));  
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);  //图片存成png格式。
    } finally {  
        if (os != null) {  
            try {  
                os.close();  //关闭流
            } catch (IOException e) {  
                Log.e(TAG_ERROR, e.getMessage(), e);  
            }  
        }  
    }  
}
Leo00700
推荐于2018-03-13 · 超过24用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:27.5万
展开全部
String path = Environment.getExternalStorageDirectory().getPath();//获取手机本地存//储路径,这个位置可以根据需要自己改。

InputStream in = getResources().openRawResource(R.raw.girls);//读取程序中的图片

File file = new File(path + "/girls.jpg");//创建文件
if (!file.exists()) {
try {//如果文件不存在就创建文件,写入图片
file.createNewFile();
FileOutputStream fo = new FileOutputStream(file);
int read = in.read();
while (read != -1) {
fo.write(read);
read = in.read();
}
//关闭流
fo.flush();
fo.close();
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

希望可以帮到你,望采纳!

更多追问追答
追问
首先真的非常非常感谢你,写的很详细。但有点小问题,你的那个路径path获取的是手机相册的路径吧? 然后(path + “/girls.jpg”)是创造了一个装girls图片的文件夹么?
追答

  下面这个语句就是创建一个file来找本地的文件,找不到的情况下就去创建刚刚目录里的文件夹,这个语句可能不太适合你的程序,你可以直接写创建文件夹的语句去写入图片,省去了if的判断,这个是我以前写的例子,可能没有注释很清楚~

File file = new File(path + "/girls.jpg");//创建文件
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式