FileoutputStreamDemo.java package file_Stream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;public class FileoutputStreamDemo {/* * IO流的分类和 1.根据流向划分:输入,输出流 * 2.根
package file_Stream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class FileoutputStreamDemo { /* * IO流的分类和 1.根据流向划分:输入,输出流 * 2.根据单位划分:字节流(outputStream,inputStream),字符流(writer,reader)四大基流(都是抽象类) * * 操作模板 1.创建源或者目标对象(挖井) 2.创建IO流对象(水管) 3.具体的IO操作;read和write 4.关闭资源 close(); */ public static void main(String[] args) throws Exception { // 1.创建数据源 File file = new File("file/BoyNextDoor.txt"); // 2.创建IO流对象 FileOutputStream out = new FileOutputStream(file,false);//true表示添加,默认或者false就是覆盖 // 3.具体的IO操作 //out.write(65);//void write(int b)把一个字节输出到文件中 out.write("I AM AN ARTIST".getBytes());//void write(byte []b)把数组b全部输出到文件中 result: I AM AN ARTIST // out.write("Iamaartist".getBytes(), 0, 5);//void write(byte[] b, off, len)把数组中的数据从off索引位置开始,输出len长度个到文件中 result:Iamaa //out.write("Iamaartist".getBytes(), 0, "Iamaartist".length());// result:Iamaartist // 4.关闭资源 out.close(); } }FileInputStreamDemo.java
package file_Stream; import java.io.File; import java.io.FileInputStream; import java.util.Arrays; public class FileInputStreamDemo { //演示文件字节输入流 public static void main(String[] args) throws Exception { //1.创建数据源 File f=new File("file/BoyNextDoor.txt"); //2.创建IO对象 FileInputStream in=new FileInputStream(f); //3.具体操作 /* read() 从此输入流中读取一个数据字节。 int read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 int read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。 * */ /*int data=in.read(); System.out.println(data);*/ /*//文件中只有7个字节,所以数组后三位是0 byte[] buffer=new byte[10]; System.out.println(Arrays.toString(buffer));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] int data=in.read(buffer); System.out.println(Arrays.toString(buffer));//[65, 66, 67, 68, 69, 70, 71, 0, 0, 0] System.out.println(data);//data返回的是文件中有的字节数。 */ /*byte[] buffer=new byte[10]; System.out.println(Arrays.toString(buffer)); int data=in.read(buffer, 2, 6); System.out.println(Arrays.toString(buffer));//[0, 0, 65, 66, 67, 68, 69, 70, 0, 0] System.out.println(data);//6 */ byte []buffer=new byte[5]; int len=-1;//表示当前读取的字节总数,如果为-1就是文件末尾了。 //len=in.read(buffer);表示当前读取的字节,当他不等于-1说明文件还没有读完 while( (len=in.read(buffer))!=-1){ String str=new String(buffer,0,len); System.out.println(str); } //4.关闭资源 in.close(); } }