需求:复制图片
分析:
  因为图片我们用记事本打开后无法读懂,所以用字节流
  并且字节流复制有4种方式,所以我们尝试4种方式。
推荐第四种:缓冲字节流一次读取一个字节数组

首先写main方法:

 public static void main(String[] args) throws IOException {
// 上次使用了字符串作为路径,这次我们使用File作为路径
File start = new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\艾斯.jpg");
File end = new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\火拳.jpg");
//method1(start,end);
//method2(start,end);
//method3(start,end);
method4(start,end); }

第一种:基本字节流一次读取一个字节

     private static void method1(File start, File end) throws IOException {
// 基本字节流一次读取一个字节
FileInputStream fi = new FileInputStream(start);
FileOutputStream fo = new FileOutputStream(end);
int len = 0;
while((len = fi.read()) != -1){
fo.write(len);
}
fi.close();
fo.close(); }

第二种:基本字节流一次读取一个字节数组

     private static void method2(File start, File end) throws IOException {
// 基本字节流一次读取一个字节数组
FileInputStream fi = new FileInputStream(start);
FileOutputStream fo = new FileOutputStream(end);
byte[] by = new byte[1024];
int len = 0;
while((len = fi.read(by)) != -1){
fo.write(by,0,len);
}
fi.close();
fo.close();
}

第三种:缓冲字节流一次读取一个字节

     private static void method3(File start, File end) throws IOException {
// 缓冲字节流一次读取一个字节
BufferedInputStream bfi = new BufferedInputStream(new FileInputStream(start));
BufferedOutputStream bfo = new BufferedOutputStream(new FileOutputStream(end));
int len = 0;
while((len = bfi.read()) != -1){
bfo.write(len);
}
bfi.close();
bfo.close();
}

第四种:缓冲字节流一次读取一个字节数组

     private static void method4(File start, File end) throws IOException {
// 缓冲字节流一次读取一个字节数组
BufferedInputStream bfi = new BufferedInputStream (new FileInputStream(start));
BufferedOutputStream bfo = new BufferedOutputStream(new FileOutputStream(end));
byte[] by = new byte[1024];
int len = 0;
while((len = bfi.read(by)) != -1){
bfo.write(by,0,len);
}
bfi.close();
bfo.close(); }

java 21 - 9 复制图片的4种方式的更多相关文章

  1. java 21 - 8 复制文本文件的5种方式

    需求:复制文本文件 分析: 由于文本文件我们用记事本打开后可以读懂,所以使用字符流. 而字符流有5种复制的方式: 首先写main方法 public static void main(String[] ...

  2. Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例

    1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...

  3. Java基础知识强化之IO流笔记43:IO流练习之 复制文本文件的 5 种方式案例

     1. 案例分析: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字符流更方便一些. 而字符流有5种方式,所以做这个题目我们有5种方 ...

  4. Java反射获取class对象的三种方式,反射创建对象的两种方式

    Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName ...

  5. js 复制文本的四种方式

    js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...

  6. jQuery 实现图片放大两种方式

    jQuery 实现图片放大两种方式 一.利用css样式表实现,多用于后台显示 1.这种比较简单,利用dom元素的hover实现样式切换 <style> img{ cursor: point ...

  7. mysql复制表的两种方式

    mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...

  8. Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)

    //package 字符缓冲流bufferreaderDemo; import java.io.BufferedOutputStream; import java.io.FileInputStream ...

  9. java IO流复制图片

    一.使用字节流复制图片 //字节流方法 public static void copyFile()throws IOException { //1.获取目标路径 //(1)可以通过字符串 // Str ...

随机推荐

  1. TCP中close和shutdown之间的区别

    该图片截取自<<IP高效编程-改善网络编程的44个技巧>>,第17个技巧.  如果想验证可以写个简单的网络程序,分别用close和shutdown来断开连接,然后用tcpdum ...

  2. IE浏览器中ajax使用缓存数据的问题

    今天做了一个小功能:点击鼠标实时更新系统时间,采用ajax,过程很顺利,没遇到啥差错,谷歌,火狐,欧鹏一律通过,怀着忐忑的心情点开了IE8,果然,IE要对得起前端杀手的称号:更新不了时间. 查了一下这 ...

  3. HTML 5 <mark> 标签

    一,定义和用法 <mark> 标签定义带有记号的文本.请在需要突出显示文本时使用 <m> 标签. 二,实例 突出显示部分文本: <!DOCTYPE HTML> &l ...

  4. 2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案

    书名:Murder on the Orient Express 东方快车谋杀案 作者:Agatha Christie 单词数:6.1万 不重复单词数:不详 首万词不重复单词数:不详 蓝思值:640 阅 ...

  5. Java从零开始学四十三(DOM4j解析XML)

    一.创建XML // 建立XML public static void gernatorXML() { // 创建Document对象 Document doc = DocumentHelper.cr ...

  6. UITextField 基本属性使用

    //设置文本框 透明度 tf.alpha = ; //设置文本颜色 tf.textColor = [UIColor orangeColor]; //设置文本文字 格式 tf.font = [UIFon ...

  7. const,static,extern简介(重要)

    一.const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 编译时刻:宏是预编译(编译之前处理),const是编译 ...

  8. mysql集群之MYSQL CLUSTER

    1. 参考文档 http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%9 ...

  9. MyEclipse Workspace 项目文件 .project .classpath .mymetadata解析

    <!-- .classpath文件 --> <?xml version="1.0" encoding="UTF-8"?> <cla ...

  10. JavaScript Patterns 2.12 Writing API Docs

    Free and open source tools for doc generation: the JSDoc Toolkit (http://code.google.com/p/jsdoc-too ...