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("复制失败");
}
}
}
}
}