Java学习笔记之IO(三):OutputStream输出字节流
来源:互联网 发布:js添加dom resize事件 编辑:程序博客网 时间:2024/06/05 08:36
package com.io;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.junit.Test;/*输出字节流:--------| OutputStream:是所有输出字节流的父类;抽象类;-----------| FileOutputStream:向文件写入数据的输出字节流;FileOutputStream使用步骤:1、找到目标文件;2、建立数据的输出通道;3、把数据转换成字节数组写出;4、关闭资源;FileOutputStream要注意的细节:1、创建FileOutputStream输出流对象的时候,如果目标文件不存在,会自动创建目标文件;2、创建FileOutputStream输出流对象的时候,如果目标文件已经存在,会清除目标文件中的所有数据;3、创建FileOutputStream输出流对象的时候,如果目标文件已经存在,并且需要向目标文件中追加数据的时候,需要使用new FileOutputStream(file, true)构造函数,第二个参数为true表示追加写入;4、使用write(int b)方法写数据的时候,虽然接收的是一个int类型的数据,但是真正写出的只是一个字节的数据,一个字节八位,只是把低八位的二进制数据写出,其他二十四位的数据全部丢弃;00000000-01110000-00001100-00011100byte一个字节;short两个字节;int四个字节;long八个字节; */public class Demo4 {// 将数据写出到文件中@Testpublic void test1() throws Exception{// 1、找到目标文件;File file = new File("D:\\a.txt");// 2、建立数据的输出通道;FileOutputStream out = new FileOutputStream(file);String content = "Hello World";// 3、把数据转换成字节数组并写出;out.write(content.getBytes());// 4、关闭输出流,释放资源out.close();}// 写出指定长度的数据到文件中@Testpublic void test2() throws IOException {// 找到目标文件File file = new File("D:\\a.txt");// 建立数据的输出通道FileOutputStream out = new FileOutputStream(file);String content = "Hello World";// 将数据转换成字节数组byte[] buf = content.getBytes();// 写出指定长度的数据;参数2表示从索引值为0的位置开始写出,参数3表示写出多少个字节;out.write(buf, 0, 5);// 关闭资源out.close();}// 拷贝图片@Testpublic void test3() throws IOException{// 找到目标文件File srcFile = new File("D:\\photos\\11.jpg");File descFile = new File("D:\\11.jpg");// 建立数据的输入输出通道FileInputStream in = new FileInputStream(srcFile);FileOutputStream out = new FileOutputStream(descFile);// 创建一个字节缓冲数组,存储读取到的内容;byte[] buf = new byte[1024];int len = 0;// 边读边写:先用输入流读取数据,然后再将读取到的数据写出到目标文件中;while ((len = in.read(buf)) != -1){out.write(buf, 0, len);}// 关闭资源;原则:先开后关,后开先关;out.close();in.close();}}
package com.io;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/* * IO流的异常处理 */public class Demo5 {public static void main(String[] args) {copyImage();}// 拷贝图片的异常处理public static void copyImage(){FileInputStream in = null;FileOutputStream out = null;// 找到目标文件File inFile = new File("D:\\photos\\11.jpg");File outFile = new File("D:\\11.jpg");try{// 创建输入输出通道in = new FileInputStream(inFile);out = new FileOutputStream(outFile);// 边读边写int len = 0;byte[] buf = new byte[1024];while ((len = in.read(buf)) != -1){out.write(buf, 0, len);}}catch(IOException e){System.out.println("拷贝图片失败。。。");throw new RuntimeException(e);}finally {try {if (out != null){out.close();System.out.println("关闭输出流成功。。。");}} catch (IOException e) {System.out.println("关闭输出流失败。。。");throw new RuntimeException(e);}finally {if (in != null){try {in.close();System.out.println("关闭输入流成功。。。");} catch (IOException e) {System.out.println("关闭输入流失败。。。");throw new RuntimeException(e);}}}}}}
阅读全文
0 0
- Java学习笔记之IO(三):OutputStream输出字节流
- 【JavaSE学习笔记】IO流02_字节输出流OutputStream、字节输入流InputStream
- Java之字节输出流OutputStream
- 学习笔记之java.io包中的字节流(上)—— 基本的InputStream和OutputStream
- Java的io流学习记录(2)--字节流OutputStream及其字节输出流的子类
- Java--IO流之字节流介绍--InputStream和OutputStream
- [学习笔记]Java IO之字节流
- [学习笔记]Java IO之字节流
- Java IO 字节流 InputStream和OutputStream
- Java学习笔记之IO(五):BufferedOutputStream缓冲输出字节流
- Java的字节输出流OutputStream小结
- Java中字节输出流 OutputStream
- 字节输出流 OutputStream
- JAVA学习笔记(二十八) - 字节流 InputStream & OutputStream
- JAVA 的IO操作(二) 字节输出流和输入流:OutputStream和InputStream
- java学习之字节流--InputStream和OutputStream
- 12.Java IO: OutputStream--输出流
- java IO之OutputStream
- python的优点
- POJ1260 Pearls
- Hbuilder常用快捷键功能.
- 编译原理(六) LL(1)文法分析法-分析过程
- Java学习---8
- Java学习笔记之IO(三):OutputStream输出字节流
- sql语句无错误 order by 和limit一起用数据查询不准有重复
- MFC程序逆向 – 消息篇
- hashcode与equals详解
- spring-boot-admin源码分析及单机监控spring-boot-monitor的实现(一)
- 690. Employee Importance
- Island of Survival LightOJ
- 115个Java面试题和答案——终极列表(上)
- 服务管理(systemctl)