java 21 - 9 复制图片的4种方式
需求:复制图片
分析:
因为图片我们用记事本打开后无法读懂,所以用字节流
并且字节流复制有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种方式的更多相关文章
- java 21 - 8 复制文本文件的5种方式
需求:复制文本文件 分析: 由于文本文件我们用记事本打开后可以读懂,所以使用字符流. 而字符流有5种复制的方式: 首先写main方法 public static void main(String[] ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- Java基础知识强化之IO流笔记43:IO流练习之 复制文本文件的 5 种方式案例
1. 案例分析: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字符流更方便一些. 而字符流有5种方式,所以做这个题目我们有5种方 ...
- Java反射获取class对象的三种方式,反射创建对象的两种方式
Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName ...
- js 复制文本的四种方式
js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...
- jQuery 实现图片放大两种方式
jQuery 实现图片放大两种方式 一.利用css样式表实现,多用于后台显示 1.这种比较简单,利用dom元素的hover实现样式切换 <style> img{ cursor: point ...
- mysql复制表的两种方式
mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...
- Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)
//package 字符缓冲流bufferreaderDemo; import java.io.BufferedOutputStream; import java.io.FileInputStream ...
- java IO流复制图片
一.使用字节流复制图片 //字节流方法 public static void copyFile()throws IOException { //1.获取目标路径 //(1)可以通过字符串 // Str ...
随机推荐
- PHP程序z中xdebug工具简要使用方法
PHP程序的debug PHP程序的debug,无论是cli方式还是web方式,都需要使用第三方的debug工具.PHP5.6之前,本身自带的debug功能,仅限于日志输出. 推荐使用免费xdebug ...
- How to Get SharePoint Client Context in SharePoint Apps (Provider Hosted / SharePoint Access ) in CSOM (Client Side Object Model)
http://www.codeproject.com/Articles/581060/HowplustoplusGetplusSharePointplusClientplusContex Downlo ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q28-Q31)
Question28You have a Microsoft Office SharePoint Server 2007 site.You upgrade the site to SharePoint ...
- 演示 pull解析的基本步骤(代码演示)
pull解析器: * 反序列化:将xml中的数据取出 1.导入jar包 2.创建解析器工厂 ...
- 输入 cc -c 指令出现问题
mac 命令行里 编译 链接 出现xcrun: error: active developer path mac cc 编译出现 xcrun: error: active developer path ...
- iOS开发网络篇—NSURLConnection基本使用(一)
一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法.请求头.请求体.. ...
- IOS之Foundation之探究学习Swift实用基础整理<一>
import Foundation //加载网络数据,查找数据的字符串 let dataurl = "http://api.k780.com:88/?app=weather.city& ...
- win7操作技巧
Q : 打开文件夹默认最大化A :随便打开一个文件夹 鼠标移动到左上角 然后点击鼠标左键 选择“最大化” 后关闭 之后每次打开就是最大化了
- 【AdaBoost算法】强分类器训练过程
一.强分类器训练过程 算法原理如下(参考自VIOLA P, JONES M. Robust real time object detection[A] . 8th IEEE International ...
- JS 中html 动态替换
一.定义通用替换js函数,或调用JQuery验证的$.format函数: //----通用JS操作// var a = "我喜欢吃{0},也喜欢吃{1},但是最喜欢的还是{0},偶尔再买点{ ...