本文共 1898 字,大约阅读时间需要 6 分钟。
java中的字节流
利用字节流将当前工程下的IODemo.java拷贝到d盘下
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(); }}
字节流可以操作所有类型的文件,因为所有的文件在计算机中都是以字节形式存储
而字符流只能用来操作纯文本类型的文件,不能操作字节类型的文件
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(); }}
转载地址:http://tnjqb.baihongyu.com/