1.1 概述
IO流分类:
流向
输入流 读取数据 FileReader Reader
输出流 写出数据 FileWriter Writer
数据类型
字节流
字节输入流 读取数据 InputStream
字节输出流 写出数据 OutputStream
字符流
字符输入流 读取数据 Reader
字符输出流 写出数据 Writer
1.2 利用字符流复制文本文件
利用字符流将当前工程下的IODemo.java拷贝到d盘的a文件夹下
1.2.1 案例代码九
package com.itheima_02;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/* * 使用字符流复制文本文件 * * 数据源 IODemo.java * 目的地 d:\\IODemo.java * */public class FileCopyDemo {public static void main(String[] args) throws IOException {//创建字符输入流对象FileReader fr = new FileReader("IODemo.java");//创建字符输出流对象FileWriter fw = new FileWriter("d:\\IODemo.java");//一次读写一个字符/*int ch;while((ch = fr.read()) != -1) {fw.write(ch);fw.flush();}*///一次读写一个字符数组int len;//用于存储读到的字符个数char[] chs = new char[1024];while((len = fr.read(chs)) != -1) {fw.write(chs,0,len);fw.flush();}//释放资源fw.close();fr.close();}}
1.2.2 字符流复制图片的问题解析
1.3 利用字节流复制文本文件
利用字节流将当前工程下的IODemo.java拷贝到d盘下
1.3.1 案例代码十
package com.itheima_03;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/*
使用字节流复制文本文件
数据源 IODemo.java
目的地 d:\a\IODemo.java
/
public class FileCopyDemo {
public static void main(String[] args) throws IOException {
//创建字节输入流对象
FileInputStream fis = new FileInputStream("IODemo.java");
//创建字节输出流对象
FileOutputStream fos = new FileOutputStream("d:\a\IODemo.java");
//一次读写一个字节
/int by;
while((by = fis.read()) != -1) {
fos.write(by);
}*/
//一次读写一个字节数组
int len;//存储读到的字节个数
byte[] bys = new byte[1024];
while((len = fis.read(bys)) != -1) {
fos.write(bys,0,len);
}
//释放资源
fos.close();
fis.close();
}
}
字节流可以操作所有类型的文件,因为所有的文件在计算机中都是以字节形式存储
而字符流只能用来操作纯文本类型的文件,不能操作字节类型的文件
1.4.1 案例代码十一
package com.itheima_04;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/* * 分别使用字符流和字节流复制图片 * * 二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的) * 文本文件的复制即可使用字符流,也可以使用字节流 * */public class CopyImage {public static void main(String[] args) throws IOException {//method();//创建字节输入流对象FileInputStream fis = new FileInputStream("传智学院.jpg");//创建字节输出流对象FileOutputStream fos = new FileOutputStream("d:\\传智学院.jpg");//一次读写一个字节数组int len;//用于存储读到的字节个数byte[] bys = new byte[1024];while((len = fis.read(bys)) != -1) {fos.write(bys,0,len);}//释放资源fos.close();fis.close();}private static void method() throws FileNotFoundException, IOException {//创建字符输入流对象FileReader fr = new FileReader("传智学院.jpg");//创建字符输出流对象FileWriter fw = new FileWriter("d:\\传智学院.jpg");//一次读写一个字符数组int len;//用于存储读到的字符个数char[] chs = new char[1024];while((len = fr.read(chs)) != -1) {fw.write(chs,0,len);fw.flush();}//释放资源fw.close();fr.close();}}
共同学习,写下你的评论
评论加载中...
作者其他优质文章