FileInputStream.FileOutputStream执行图片复制
/**
* 需求:拷贝一个图片
* 思路:
* 1.创建一个字符输入流和图片相关联.
* 2.用字节写入流对创建图片文件,用于存储到图片数据.
* 3.通过循环续写,完成数据的存储.
* 4.关闭资源.
*
* 步骤:
*
* 总结:
* 1.文件输入字节流 和 文件输入字符流 一样,读到文件的结束标记的时候都是返回 -1
* 2.FileInputStream 和 FileOutputStream 相当于在 InputStream OutputStream 的基础上指定了数据源和数据目
* 的地,所以可以实现具体的读写操作
*/
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; class CopyPic {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("D:\\2.jpg"); // 建立字符输入流对象和文件相关联
fos = new FileOutputStream("copy.jpg"); // 建立字符输出流对象指定路径和文件名字
byte[] buf = new byte[1024]; // 创建一个字节数组用来保存读取的数据 int num = 0; // 定义一个变量用于保存读取到的字节数 while ((num = fis.read(buf)) != -1) {
fos.write(buf, 0, num);
}
} catch (IOException e) {
throw new RuntimeException("路径错误");
} finally {
try {
if (fos != null) // 判断创建文件失败是否为null;
fos.close();
} catch (IOException e) {
System.out.println("输出关闭失败");
}
try {
if (fis != null)
fis.close();
} catch (IOException e) {
System.out.println("输入关闭失败");
}
}
}
}
FileInputStream.FileOutputStream执行图片复制的更多相关文章
- Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例
1. 需求:把D:\\美女.jpg 复制到当前项目目录下mn.jpg 代码示例: package com.himi.filecopy; import java.io.FileInputStream; ...
- Java基础知识强化之IO流笔记26:FileInputStream / FileOutputStream 复制mp4视频的案例
1. 需求:把D:\\English.mp4 复制到当前项目目录下copy.mp4 代码示例: package com.himi.filecopy; import java.io.FileInput ...
- Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1
1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例: 分析: (1)数据源:从哪里来 a.txt -- 读取数据 -- FileInpu ...
- Java基础 FileInputStream/ FileOutputStream / 字节输入流 字节输出流实现文件的复制
FileInputStream/FileOutputStream的笔记: /**(FileInputStream/FileOutputStream四个步骤: ①声明②加载地址③read/write④c ...
- Java API —— IO流( FileInputStream & FileOutputStream & BufferedInputStream & BufferedOutputStream )
1.IO流概述 · IO流用来处理设备之间的数据传输 · 上传文件和下载文件 · Java对数据的操作是通过流的方式 · Java用于操作流的对象都在IO包中 2.IO ...
- Java IO 之 FileInputStream & FileOutputStream源码分析
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...
- Atitit图片复制父目录给你设计的实现 基于win 图片浏览器
Atitit图片复制父目录给你设计的实现 基于win 图片浏览器 打开属性,获取其路径...1 Ahk参数传递,使用环境变量即可1 如何ahk异常转换为java异常1 如何获取ahk的输出.1 C:\ ...
- FileInputStream FileOutputStream
FileInputStream is a stream to grab the information from files.Combined with FileOutputStream, we ca ...
- 复制文件的问题:使用FileInputStream和FileOutputStream实现文件复制
public class Test{ public static void main(String [] args) { Test t=new Test(); t.upload(); } public ...
随机推荐
- EA Data Modeling 显示别名设置
1.设置 2.效果
- centos7分区建议
https://www.cnblogs.com/set-config/p/9040407.html
- docker 报ls: cannot open directory software/: Permission denied
问题原因及解决办法 原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题: 1.在运行容器的时候,给容器加特权,及加上 --privileged= ...
- Linux FACL(文件访问控制列表)
文件有三种权限 属主权限 属组权限 其他权限 现在有这样一个场景,用户 A 想把文件共享给不是同组内用户 B ,而又不想修改其他权限,这时候 FACL 就起作用了 FACL可以给文件添加一个拓展 ...
- nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景
1.mongodb (1)是文档型的非关系型数据库,使用bson结构.其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存. (2)一般可以用来存放评论等半结构化数据,支持二级索引. 适合存 ...
- element UI select 设定默认值
要为select设定默认值,有两个步骤 1.数据中,声明一个变量param:该变量的值设为你想设定的select option中value 2.控件的 v-model 绑定 param 即可 < ...
- ArrayList、LinkedList、Vector的区别。
1. 对于ArrayList与Vector来说,底层都是采用数组方式来实现的 2. ArrayList,LinkedList是不同步的,即线程不安全,而Vector是的.(线程安不安全) 3. Lin ...
- 列表(list) 的 基本操作
举例说明:names = ["zhangyang", "guyun", 'xiangpeng', ['alex','jack'], "xuliangc ...
- js乱码问题解决
乱码有可能出现在下面两种情况 1.高级浏览器直接访问js路径 2.jsp引用js 针对上述两种情况的解决方式: 1.查看设置浏览器的字符集 2.查看web服务器的字符集,比如Tomcat 配置UTF- ...
- 数据结构:Queue
Queue设计与实现 Queue基本概念 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列不允许在中间部位进行操 ...