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

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. discuz 手机上看帖子图片显示“[viewimg]”如何修改?

    手机bbs上看帖子,如果帖子中有外网图片显示的是“[viewimg]”,而不是图片pre_forum_thread 主题表pre_forum_post 帖子表 库表pre_forum_post中字段m ...

  2. SciTE配置信息

    超强文本编辑器SciTE配置方法详细实例 转载 2006年12月28日 17:07:00 标签: 文本编辑 / 文档 / 语言 / html / python / api 32800 关于scite文 ...

  3. unity--------prefab嵌套prefab

    最近造了个轮子可以批量替换prefab里的prefab,欢迎大家测试-  https://bitbucket.org/xuanyusong/prefab-replace 最近在做UI部分中遇到了这样的 ...

  4. 多媒体开发之h264中的sps---sps信息提取之帧率

    ------------------------------author:pkf -----------------------------------------time:2015-8-20 --- ...

  5. CentOS 6.x安装配置MongoDB 3.4.x

    说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...

  6. R语言igraph 包-构建网络图

    igaph 是一个项目,目标是建立一条简单,易用的网络分析工具,有 R, python, C/C++ 等语言的具体实现: 项目主页: http://igraph.org/ 在R语言中,对应的就是 ig ...

  7. C#实现windows服务安装,服务名可配置时出问题(无法创建 ProjectInstaller 安装程序类型的实例)

    [参考资料]Windows 安装服务 的两种方式 一.问题出在System.Configuration.ConfigurationManager.AppSettings[""].T ...

  8. C# Bitmap转化为BitmapImage方法

    public BitmapImage BitmapToBitmapImage(Bitmap bitmap) { Bitmap bitmapSource = new Bitmap(bitmap.Widt ...

  9. 基于Redis实现分布式锁以及任务队列

    一.前言 双十一刚过不久,大家都知道在天猫.京东.苏宁等等电商网站上有很多秒杀活动,例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,可能会有几十万几百万的 ...

  10. 视锥体(frustum)裁剪

    原文地址:http://www.linuxgraphics.cn/graphics/opengl_view_frustum_culling.html 背景 视锥体(frustum),是指场景中摄像机的 ...