package IODemo;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;/*** @author Alina* @date 2021年10月15日 8:19 下午* read()方法特点* 1.每次只读取一个文件* 2.只运行一次,自动向下读取* 3.读取到文件末尾,返回负数* 4.读取整个文件时,利用read()返回 -1 的特点,进行循环*/
public class FileInputStreamDemo {public static void main(String[] args) {try {method_copy();} catch (IOException e) {e.printStackTrace();}}public static void method_read() throws IllegalAccessError, IOException {FileInputStream fis = new FileInputStream("/Users/yuzhang/Desktop/test.txt" );int x = fis.read();System.out.println(x);x = fis.read();System.out.println(x);fis.close();}public static void method_readsum()throws IllegalAccessError, IOException{FileInputStream fis = new FileInputStream("/Users/yuzhang/Desktop/test.txt");int y = 0 ;while ((y =fis.read()) != -1){System.out.print((char)y);}fis.close();}public static void method_copy() throws IOException ,IllegalAccessError{FileInputStream fis = null;FileOutputStream fos = null;try{int bytes = 0;fis = new FileInputStream("/Users/yuzhang/Desktop/test.txt");fos = new FileOutputStream("src/IODemo/test.txt");while ((bytes=fis.read()) != -1){fos.write(bytes);}}catch (IOException e){e.printStackTrace();throw new RuntimeException("复制失败");}finally{try{if(fos != null){fos.close();}}catch (IOException e ){e.printStackTrace();throw new RuntimeException("复制失败");}finally {try{if((fis!=null)){fis.close();}}catch (IOException e ){e.printStackTrace();throw new RuntimeException("复制失败");}}}}
}