上一篇文章中涉及到的字符流的输入和输出主要是通过FileWrter和FileReader来实现的,而且字符流其实就是字节流+编码表来实现的,所以对于字节流来说,就少了编码表这一个环节。
其实FileWrter和FileReader是在类里面封装了默认的平台编码表,但是是有编码这个过程的,而字节流不需要通过编码过程就直接能够实现,并且它不仅可以操作字符,还可以操作其他媒体文件,同样需要涉及到的两个类分别是FileOutputStream和FileInputStream两个类,同时它需要用到的数组是Byte[]数组,和字符流是不一样的。
废话不多说,直接开始展示案例:
FileOutputStream
import java.io.FileOutputStream; import java.io.IOException; public class TextDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //1.创建字节输出流对象。用于操作文件。 FileOutputStream fos = new FileOutputStream("E:\Text.txt"); //2.写入数据。直接写入到目的地文件中。 fos.write("adcdef".getBytes()); //3.关闭资源动作 fos.close(); } }
FileInputStream
import java.io.FileInputStream; import java.io.IOException; public class TextDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //1.创建字节输出流对象。用于操作文件。 FileInputStream fis = new FileInputStream("E:\Text.txt"); //2.定义一个数组缓冲区 Byte[] buf = new Byte[1024]; int len = 0; //3.读取指定文件的所有数据 while((len=fis.read(buf))!=-1){ System.out.println(new String(buf,0,len)); } //4.关闭资源动作 fis.close(); } }
FileWriter少写了个‘i’
单词写错了