/**
* 需求:拷贝一个图片
* 思路:
* 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执行图片复制的更多相关文章

  1. Java基础知识强化之IO流笔记25:FileInputStream / FileOutputStream 复制图片案例

    1.  需求:把D:\\美女.jpg 复制到当前项目目录下mn.jpg 代码示例: package com.himi.filecopy; import java.io.FileInputStream; ...

  2. Java基础知识强化之IO流笔记26:FileInputStream / FileOutputStream 复制mp4视频的案例

    1.  需求:把D:\\English.mp4 复制到当前项目目录下copy.mp4 代码示例: package com.himi.filecopy; import java.io.FileInput ...

  3. Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1

    1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例: 分析: (1)数据源:从哪里来 a.txt   --   读取数据  --  FileInpu ...

  4. Java基础 FileInputStream/ FileOutputStream / 字节输入流 字节输出流实现文件的复制

    FileInputStream/FileOutputStream的笔记: /**(FileInputStream/FileOutputStream四个步骤: ①声明②加载地址③read/write④c ...

  5. Java API —— IO流( FileInputStream & FileOutputStream & BufferedInputStream & BufferedOutputStream )

    1.IO流概述 · IO流用来处理设备之间的数据传输        · 上传文件和下载文件        · Java对数据的操作是通过流的方式 · Java用于操作流的对象都在IO包中   2.IO ...

  6. Java IO 之 FileInputStream & FileOutputStream源码分析

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  7. Atitit图片复制父目录给你设计的实现 基于win 图片浏览器

    Atitit图片复制父目录给你设计的实现 基于win 图片浏览器 打开属性,获取其路径...1 Ahk参数传递,使用环境变量即可1 如何ahk异常转换为java异常1 如何获取ahk的输出.1 C:\ ...

  8. FileInputStream FileOutputStream

    FileInputStream is a stream to grab the information from files.Combined with FileOutputStream, we ca ...

  9. 复制文件的问题:使用FileInputStream和FileOutputStream实现文件复制

    public class Test{ public static void main(String [] args) { Test t=new Test(); t.upload(); } public ...

随机推荐

  1. EA Data Modeling 显示别名设置

    1.设置 2.效果 

  2. centos7分区建议

    https://www.cnblogs.com/set-config/p/9040407.html

  3. docker 报ls: cannot open directory software/: Permission denied

    问题原因及解决办法 原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题: 1.在运行容器的时候,给容器加特权,及加上 --privileged= ...

  4. Linux FACL(文件访问控制列表)

    文件有三种权限 属主权限   属组权限  其他权限 现在有这样一个场景,用户 A 想把文件共享给不是同组内用户 B ,而又不想修改其他权限,这时候 FACL 就起作用了 FACL可以给文件添加一个拓展 ...

  5. nosql数据库:mongodb,redis,memcached,其优缺点和使用应用场景

    1.mongodb (1)是文档型的非关系型数据库,使用bson结构.其优势在于查询功能比较强大,能存储海量数据,缺点是比较消耗内存. (2)一般可以用来存放评论等半结构化数据,支持二级索引. 适合存 ...

  6. element UI select 设定默认值

    要为select设定默认值,有两个步骤 1.数据中,声明一个变量param:该变量的值设为你想设定的select option中value 2.控件的 v-model 绑定 param 即可 < ...

  7. ArrayList、LinkedList、Vector的区别。

    1. 对于ArrayList与Vector来说,底层都是采用数组方式来实现的 2. ArrayList,LinkedList是不同步的,即线程不安全,而Vector是的.(线程安不安全) 3. Lin ...

  8. 列表(list) 的 基本操作

    举例说明:names = ["zhangyang", "guyun", 'xiangpeng', ['alex','jack'], "xuliangc ...

  9. js乱码问题解决

    乱码有可能出现在下面两种情况 1.高级浏览器直接访问js路径 2.jsp引用js 针对上述两种情况的解决方式: 1.查看设置浏览器的字符集 2.查看web服务器的字符集,比如Tomcat 配置UTF- ...

  10. 数据结构:Queue

    Queue设计与实现 Queue基本概念 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列不允许在中间部位进行操 ...