存储内地图片思路:首先把原有的图片以流的方式读取出来,再以流的方式存储到目标文件:

package imgStream;

import java.io.*;

public class ImgStream {
public static void main(String srga[]) {
File source = new File("user.jpg");
File desk = new File("G:\\learn\\javademoS\\imgs");
if (!desk.exists()) {
desk.mkdir();
}
try {
FileInputStream inputStream = new FileInputStream(source);
FileOutputStream outputStream = new FileOutputStream(new File("G:\\learn\\javademoS\\imgs\\fang.jpg"));
int ch = inputStream.read();
while (ch != -1) {//当流结束时返回-1
outputStream.write(ch);
ch = inputStream.read();
}
inputStream.close();
outputStream.close();
System.out.println("写入流成功");
} catch (FileNotFoundException e) {
System.out.println("文件不存在:" + e.getMessage());
} catch (IOException e) {
System.out.println("文件读取错误:" + e.getMessage());
}
}
}

 

存储网络图片思路:构造一个url,然后请求网络数据,然后再以流的方式写到文件当中:

package imgStream;

import java.net.URL;
import java.net.URLConnection; import java.io.*; public class ImgStreamS { private static void system() throws Exception {
String path = "http://ui.51bi.com/opt/siteimg/images/fanbei0923/Mid_07.jpg";
//构造URL
URL url = new URL(path); //打开连接
URLConnection con = url.openConnection();
//请求时间
con.setConnectTimeout(4*1000);
//输入流
InputStream is = con.getInputStream();
//1K的数据缓冲
byte[] bs= new byte[1024];
//数据长度
int len;
//输出的文件流
File sf = new File("G:\\learn\\javademos\\imgs");
if(!sf.exists()){
sf.mkdirs();
}
OutputStream os = new FileOutputStream(sf.getPath()+"\\test.jpg");
//开始读取
while((len = is.read(bs)) != -1){
os.write(bs,0,len);
}
//关闭所有连接
os.close();
is.close();
} public static void main(String args[]) throws Exception {
ImgStreamS imgStream = new ImgStreamS(); system();
}
}

  

通过java的i/o机制进行图片流的存储以及对网络图片的存储的更多相关文章

  1. java把指定文字输出为图片流,支持文字换行

    public class IamgeUtils { private static final int WIDTH = 350; private static final int HEIGHT = 10 ...

  2. 深入浅出Java并发包—锁机制(一)

    前面我们看到了Lock和synchronized都能正常的保证数据的一致性(上文例子中执行的结果都是20000000),也看到了Lock的优势,那究竟他们是什么原理来保障的呢?今天我们就来探讨下Jav ...

  3. 全面理解Java异常的运行机制

    1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...

  4. 从Java虚拟机的内存区域、垃圾收集器及内存分配原则谈Java的内存回收机制

    一.引言: 在Java中我们只需要轻轻地new一下,就可以为实例化一个类,并分配对应的内存空间,而后似乎我们也可以不用去管它,Java自带垃圾回收器,到了对象死亡的时候垃圾回收器就会将死亡对象的内存回 ...

  5. JVM学习001通过实例总结Java虚拟机的运行机制

    JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html 文章转载自:http://www.c ...

  6. [转载] java的动态代理机制详解

    转载自http://www.cnblogs.com/xiaoluo501395377/p/3383130.html 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代 ...

  7. Java动态性之反射机制(reflection)

    说到反射机制,第一次接触的人可能会比较懵,反射?什么反射?怎么反射?反射是干嘛的?下面我将在这篇文章中讲讲Java的反射机制 不过在这之前,还有一个问题需要解决,标题名中的动态性,说起动态性,我先介绍 ...

  8. java两种同步机制的实现 synchronized和reentrantlock

    java两种同步机制的实现 synchronized和reentrantlock 双11加保障过去一周,趁现在有空,写一点硬货,因为在进入阿里之后工作域的原因之前很多java知识点很少用,所以记录一下 ...

  9. 【转载】Java中的锁机制 synchronized & 偏向锁 & 轻量级锁 & 重量级锁 & 各自优缺点及场景 & AtomicReference

    参考文章: http://blog.csdn.net/chen77716/article/details/6618779 目前在Java中存在两种锁机制:synchronized和Lock,Lock接 ...

随机推荐

  1. 关于Unity中Shader的基础认识

    Shader也叫着色器,是Unity里面比较难的一个点,网上有很多别人写好的shader,我们可以下载下来用或者修改学习. Shader可以做出很多非常不错的效果,因为它是插在渲染管道里面的程序,一来 ...

  2. Tensorflow不显示log

    import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'

  3. 杂乱所得之RPC【待整理】

    在计算机的世界里,不仅有程序内部的通信,还需要程序之间的通信,这又包含两大类:同一台主机的程序之间的通信.不同主机的程序之间的通信. 同一台主机的程序之间的通信就是IPC,IPC(Inter-proc ...

  4. mysql 合理创建索引

    场景: KEY `index_gscode_f4_f7` (`gscode`,`f4`,`f7`) USING BTREE KEY `index_gscode_f7_f4` (`gscode`,`f7 ...

  5. SpringMVC系列(五)使用 Serlvet 原生的 API 作为目标方法的参数

    SpringMVC的Handler方法可以接受哪些 ServletAPI 类型的参数 • HttpServletRequest• HttpServletResponse• HttpSession• j ...

  6. Java EE的十三个技术规范

    Java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序. 下面,我们一起学习一下J2EE的十三种技术规范. 一.JDBC: ...

  7. at 命令

    每天什么时候执形at 12:00 /every:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday shutdown -r

  8. ASP.net MVC 文件下载的几种方法

      ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...

  9. html 禁用点击事件

    1.css禁用鼠标点击事件 .disabled { pointer-events: none; } 注:(这个没有试过) jquery禁用a标签方法1 $(document).ready(functi ...

  10. 图像处理、计算机视觉与模式识别“SCI期刊和顶级会议”总结

    期刊: best (1) IEEE Transactions on Pattern Analysis and Machine Intelligence,IEEE模式分析与机器智能汇刊,简称PAMI,是 ...