package iotest;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
/*九种文件复制方式
* 1字节型
* 2字节数组
* 3高效字节
* 4高效字节数组
* 5字符型
* 6字符数组
* 7高效字符
* 8搞笑字符数组
* 9行
*
* */
public class zzz {
public static void main(String[] args) throws IOException {
File in = new File("a.txt");
File out = new File("b.txt");
File out1 = new File("c.txt");
File out2 = new File("d.txt");
File out3 = new File("e.txt");
File out4 = new File("f.txt");
File out5 = new File("g.txt");
File out6 = new File("h.txt");
File out7= new File("i.txt");
File out8 = new File("j.txt");
method(in,out);
method1(in, out1);
method2(in, out2);
method3(in, out3);
method4(in, out4);
method5(in, out5);
method6(in, out6);
method7(in, out7);
method8(in, out8);
}
//定义一个字节型复制方式
public static void method(File in, File out) throws IOException{
//创建流
InputStream is= new FileInputStream(in);
OutputStream os = new FileOutputStream(out);
//读写
int i;
while((i=is.read())!=-1){
os.write(i);
}
//关闭流
is.close();
os.close();
}
public static void method1(File in, File out) throws IOException{
//创建流
InputStream is= new FileInputStream(in);
OutputStream os = new FileOutputStream(out);
//读写
byte[] bytes=new byte[1024];
int len;
while((len=is.read(bytes))!=-1){
os.write(bytes, 0, len);
}
//关闭流
is.close();
os.close();
}
//高效字节流
public static void method2(File in, File out) throws IOException{
//创建流
InputStream is= new FileInputStream(in);
InputStreamReader isr = new InputStreamReader(is);
OutputStream os = new FileOutputStream(out);
OutputStreamWriter osw = new OutputStreamWriter(os);
//读写
int i;
while((i=isr.read())!=-1){
osw.write(i);
}
//关闭流
isr.close();
osw.close();
}
public static void method3(File in, File out) throws IOException{
//创建流
InputStream is= new FileInputStream(in);
BufferedInputStream bis = new BufferedInputStream(is);
OutputStream os = new FileOutputStream(out);
BufferedOutputStream bos = new BufferedOutputStream(os);
//读写
byte[] bytes= new byte[1024];
int len;
while((len=bis.read(bytes))!=-1){
bos.write(bytes,0,len);
}
//关闭流
bos.close();
bis.close();
}
public static void method4(File in,File out) throws IOException{
//创建流
Reader r= new FileReader(in);
Writer w = new FileWriter(out);
//读写
int i;
while((i=r.read())!=-1){
w.write(i);
}
//关闭流
r.close();
w.close();
}
public static void method5(File in,File out) throws IOException{
//创建流
Reader r= new FileReader(in);
Writer w = new FileWriter(out);
//读写
char[] chars=new char[1024];
int len;
while((len=r.read(chars))!=-1){
w.write(chars,0,len);
}
//关闭流
r.close();
w.close();
}
public static void method6(File in,File out) throws IOException{
//创建流
Reader r= new FileReader(in);
BufferedReader br = new BufferedReader(r);
Writer w = new FileWriter(out);
BufferedWriter bw = new BufferedWriter(w);
//读写
int i;
while((i=br.read())!=-1){
bw.write(i);
}
//关闭流
br.close();
bw.close();
}
public static void method7(File in,File out) throws IOException{
//创建流
Reader r= new FileReader(in);
BufferedReader br = new BufferedReader(r);
Writer w = new FileWriter(out);
BufferedWriter bw = new BufferedWriter(w);
//读写
char[] chars=new char[1024];
int len;
while((len=br.read(chars))!=-1){
bw.write(chars,0,len);
}
//关闭流
br.close();
bw.close();
}
public static void method8(File in,File out) throws IOException{
//创建流
Reader r= new FileReader(in);
BufferedReader br = new BufferedReader(r);
Writer w = new FileWriter(out);
BufferedWriter bw = new BufferedWriter(w);
//读写
String s;
while((s=br.readLine())!=null){
bw.write(s);
}
//关闭流
bw.close();
br.close();
}
}
黑马程序员——io的九种文件复制方式
最新推荐文章于 2022-07-30 02:03:17 发布