文档章节

ShowAllPic--图片

 易水寒521
发布于 2015/05/11 10:26
字数 636
阅读 5
收藏 0
package com.example.gally_3d;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.util.Log;

public class ShowAllPic {
 /**
  * 遍历整个sd卡,获得所有图片的路径信息的集群
  */
 public void ListFiles(String path, List<String> listPath) {
  // File file = new File(path);
  File file = new File(path.substring(0, path.lastIndexOf("/")));
  if (!file.exists()) {
   file.mkdir();
  }
  if (file == null) {
   return;
  } else if (file.isDirectory() && path.length() > 4) {// 如果路径长度小于4,表示路径不存在(sdcard)
   String reName = path.substring(0, 4);
   // Log.i("aaa", reName+" fileName1");
   if (reName.equals("/sys") || reName.equals("/tmp")
     || reName.equals("/pro")) {// 系统文件
    return;
   }
  }
  File[] fs = file.listFiles();
  if (fs == null) {
   FileSave(path, null);
   Log.i("aaa", " fileName2");
   return;
  }
  // Recursion(fs, listPath);
  for (File f : fs) {
   if (f == null) {
    continue;
   } else {
    String fileName = f.getName();
//    Log.i("aaa", fileName + " fileName");
    String htx = fileName.substring(fileName.lastIndexOf(".") + 1,
      fileName.length()).toLowerCase();// 取得扩展名,并且将值转化成小写
    // if (htx.equals("png") || htx.equals("gif") ||
    // htx.equals("jpg")
    // || htx.equals("bmp")) {
    // listPath.add(f.getPath());
    // Log.i("aaa", listPath.size() + " asdasdas " + f.getPath());
    // }
//    Log.i("aaa", htx + " asdasdas " + f.getPath());
    if (htx.substring(0).equals("jpg")
      || htx.substring(0).equals("png")) {
     listPath.add(f.getPath());
    }
    path = f.getAbsolutePath();
    if (f.isDirectory() == true) {
     ListFiles(path, listPath); // 当f为文件夹的时候,进入文件夹中
    }
   }
  }
 }
 public static void FileSave(String filename, Bitmap bitmap) {
  // String fileName = "/sdcard/myImage/111.jpg";
//  Log.i("aaa", filename+" filename");
   String sdStatus = Environment.getExternalStorageState();
  if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
//            Log.i("aaa",
//                    "SD card is not avaiable/writeable right now.");
   
            return;
        }
  Log.i("liang", filename.substring(0, filename.lastIndexOf("/"))+" filename");
   File file = new File(filename.substring(0, filename.lastIndexOf("/")));
  if (!file.exists()) {
   file.mkdirs();// 创建文件夹
  }else{
//   Log.i("aaa",
//            "sd");
  }
  FileOutputStream b;
  try {
   b = new FileOutputStream(filename);
   if (bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b)) {// 把数据写入文件
//    Log.i("aaa", "sd png");
   }else{
    Log.i("aaa", "no sd png");
   }
   b.flush();
   b.close();
  } catch (FileNotFoundException e) {
   e.printStackTrace();
   Log.i("aaa", e.getMessage()+" a");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   Log.i("aaa", e.getMessage()+" b");
  }
 }
 /** 取得网络上的图片 
  * @param  context */
 public static Bitmap GetNetBitmap(String url) {
  URL imageUrl = null;
  Bitmap bitmap = null;
  try {
   imageUrl = new URL(url);
  } catch (MalformedURLException e) {
   Log.v("aaa", e.getMessage());
  }
  if (imageUrl != null) {
   try {
    HttpURLConnection conn = (HttpURLConnection) imageUrl
      .openConnection();
    conn.setDoInput(true);// 设置请求的方式
    conn.connect();
    InputStream is = conn.getInputStream();// 将得到的数据转化为inputStream
    bitmap = BitmapFactory.decodeStream(is);// 将inputstream转化为Bitmap
    is.close();// 关闭数据
    String fileName=url.substring(url.lastIndexOf('/')+1,url.length());
    FileSave("/sdcard/Gallery3D/"+fileName, bitmap);
   } catch (IOException e) {
    e.printStackTrace();
   }
  } else {
   Log.v("aaa", "Url is Null!!");
  }
  return bitmap;
 }
 //File file = new File(path);
// file.delete();
 
 public void FileDel(String filename) {
  // String fileName = "/sdcard/myImage/111.jpg";
//  Log.i("aaa", filename+" filename");
   String sdStatus = Environment.getExternalStorageState();
  if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
//            Log.i("aaa",
//                    "SD card is not avaiable/writeable right now.");
   
            return;
        }
  File file = new File(filename);
  
  Log.i("aaa", file.delete()+" file.delete() "+filename);
  file.delete();
 }
 
 public byte[] getBitmapByte(Bitmap bitmap) {
  ByteArrayOutputStream out = new ByteArrayOutputStream();
  bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
  try {
   out.flush();
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
//  for(int i=0;i<out.toByteArray().length;i++){
//   Log.d("liang", Integer.toBinaryString(out.toByteArray()[i])+" out.toByteArray()");
//  }
  return out.toByteArray();
 }
 
 public void FileSave1(byte[] b2){
  String sdStatus = Environment.getExternalStorageState();
  if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用
//          Log.i("aaa",
//                  "SD card is not avaiable/writeable right now.");
   
          return;
      }
   File file = new File("/sdcard/222/");
  if (!file.exists()) {
   file.mkdirs();// 创建文件夹
  }else{
   Log.i("aaa",
          "sd");
  }
  FileOutputStream b;
  try {
   b = new FileOutputStream("/sdcard/222/m.m");//存储地址及文件名
   b.write(b2);//图片
   b.flush();
   b.close();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

© 著作权归作者所有

上一篇: ListActivity--订单
下一篇: HttpUtil , User
粉丝 1
博文 130
码字总数 120077
作品 0
虹口
私信 提问
tensorflow(一):图片处理

  1、图片存取 tf.gfile import tensorflow as tfimport matplotlib.pyplot as plt image_bytes = tf.gfile.FastGFile("dog.jpg", 'rb').read() # 字节with tf.Session() as session: plt......

韩非囚秦
2018/08/17
0
0
30款jQuery常用网页焦点图banner图片切换 下载

1、jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2、jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3、jQuery图片层叠旋转类似洗牌翻转图片幻灯片 查看演示 ...

awbeci
2013/09/18
0
0
JavaScript中的图片处理与合成

JavaScript中的图片处理与合成(一) 65 人赞了该文章 摘要:图片处理现在已经成为了我们生活中的刚需,想必大家也经常有这方面的需求。实际前端业务中,也经常会有很多的项目需要用到图片加工...

十万猛虎下画山
2018/05/04
75
0
install ubuntu12.04.4 for android-----(1)

1:gedit /etc/apt/sources.listadd items: 2: 3:

whoisliang
2018/03/02
2
0
Universal-ImageLoader

Universal-ImageLoader是一个第三方开源库,主要用来异步加载图片、缓存图片、和图片显示。(获取图片显示在相应的控件上) 官网地址:https://github.com/nostra13/Android-Universal-Image-...

Taian
2016/01/11
138
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
38分钟前
3
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部