字节流复制 (任何文件)
字节流一次复制一个字节
//字节输入流
FileInputStream fis=new FileInputStream(“day09/a.txt”);
//字节输出流
FileOutputStream fos=new FileOutputStream(“day09/b.txt”);
//一边读一边写
int b; //记录每次读取的一个字节
while((b=fis.read())!=-1){
fos.write(b);
}
//释放资源
fos.close();
fis.close();
字节流一次复制多个字节
//字节输入流
FileInputStream fis=new FileInputStream(“day09/a.txt”);
//字节输出流
FileOutputStream fos=new FileOutputStream(“day09/b.txt”);
//一边读一边写
byte[] bs=new byte[1024];
int len; //记录每次读取的有效字节个数
while((len=fis.read(bs))!=-1){
fos.write(bs,0,len);
}
//释放资源
fos.close();
fis.close();
字节缓冲流复制 (任何文件)
字节缓冲流一次复制一个字节
//字节输入流
InputStream fis=new BufferedInputStream(new FileInputStream(“day09/a.txt”));
//字节输出流
OutputStream fos=new BufferedOutputStream(new FileOutputStream(“day09/b.txt”));
//一边读一边写
int b; //记录每次读取的一个字节
while((b=fis.read())!=-1){
fos.write(b);
}
//释放资源
fos.close();
fis.close();
字节缓冲流一次复制多个字节
//字节输入流
InputStream fis=new BufferedInputStream(new FileInputStream(“day09/a.txt”));
//字节输出流
OutputStream fos=new BufferedOutputStream(new FileOutputStream(“day09/b.txt”));
//一边读一边写
byte[] bs=new byte[1024];
int len; //记录每次读取的有效字节个数
while((len=fis.read(bs))!=-1){
fos.write(bs,0,len);
}
//释放资源
fos.close();
fis.close();
字符流复制(文本文件)
字符流一次复制一个字符
//读取a.txt文件的字符流
Reader r=new FileReader(“day09/a.txt”);
//写入b.txt文件的字符流
Writer w=new FileWriter(“day09/b.txt”);
//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
//把读取到的一个字符写入文件中
w.write(ch);
}
//释放资源
w.close();
r.close();
字符流一次复制多个字符
//读取a.txt文件的字符流
Reader r=new FileReader(“day09/a.txt”);
//写入b.txt文件的字符流
Writer w=new FileWriter(“day09/b.txt”);
//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
//把读取到的一个字符写入文件中
w.write(chs,0,len);
}
//释放资源
w.close();
r.close();
字符缓冲流复制(文本文件)
字符缓冲流一次复制一个字符
//读取a.txt文件的字符流
Reader r=new BufferedReader(new FileReader(“day09/a.txt”));
//写入b.txt文件的字符流
Writer w=new BufferedWriter(new FileWriter(“day09/b.txt”));
//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
//把读取到的一个字符写入文件中
w.write(ch);
}
//释放资源
w.close();
r.close();
字符缓冲流一次复制多个字符
//读取a.txt文件的字符流
Reader r=new BufferedReader(new FileReader(“day09/a.txt”))
//写入b.txt文件的字符流
Writer w=new BuferedWriter(new FileWriter(“day09/b.txt”))
//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
//把读取到的一个字符写入文件中
w.write(chs,0,len);
}
//释放资源
w.close();
r.close();
字符缓冲流一次复制一行
BufferedReader br=new BufferedReader(new FileReader(“day09/a.txt”));
BufferedWriter bw=new BufferedWriter(new FileWriter(“day09/b.txt”));
String line=null;
//每次读取一行
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine(); //写换行
}
//释放资源
bw.close();
br.close();
字符转换流复制(文本文件)
字符转换流一次复制一个字符
//按照指定的UTF-8编码来读取a.txt文件
Reader r=new InputStreamReader(new FileInputStream(“day09/a.txt”),“UTF-8”);
//按照指定的GBK编码来写入b.txt文件
Writer w=new OutputStreamWriter(new FileOutputStream(“day09/b.txt”),“GBK”);
//一边读一边写
int ch; //记录每次读取到的一个字符
while((ch=r.read())!=-1){
w.write(ch);
}
//释放资源
w.close();
r.close();
字符转换流一次复制多个字符
//按照指定的UTF-8编码来读取a.txt文件
Reader r=new InputStreamReader(new FileInputStream(“day09/a.txt”),“UTF-8”);
//按照指定的GBK编码来写入b.txt文件
Writer w=new OutputStreamWriter(new FileOutputStream(“day09/b.txt”),“GBK”);
//一边读一边写
char[] chs=new char[1024];
int len; //记录每次读取到的有效字符个数
while((len=r.read(chs))!=-1){
//把有效的字符写入文件中
w.write(chs,0,len);
}
//释放资源
w.close();
r.close();