字节流复制数据的四种方式:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 字节流 文件赋值的四种方式
*
*/
public class FourMethodInOutStream {
public static void main(String[] args) throws IOException{
//method1();
//method2();
//method3();
method4();
}
/**
* 基本字节流,一次复制一字节
*/
private static void method1() throws IOException {
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("osw.txt");
FileOutputStream fos =new FileOutputStream("test.txt");
int b =0;
while((b = fis.read()) != -1){
fos.write(b);
}
fis.close();
fos.close();
}
/**
* 基本字节流,一次复制一字节数组
*/
private static void method2() throws IOException {
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("osw.txt");
FileOutputStream fos =new FileOutputStream("test.txt");
byte bys[] =new byte[1024];
int len=0; //记录一次实际读取到的字符数
while((len = fis.read(bys)) != -1){
fos.write(bys,0,len);
}
fis.close();
fos.close();
}
/**
* 带缓冲区一次复制一字节
*/
private static void method3() throws IOException {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("osw.txt"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("test.txt"));
int b=0;
while((b = bis.read()) != -1){
bos.write(b);
}
bis.close();
bos.close();
}
/**
* 带缓冲区一次复制一字节数组
*/
private static void method4() throws IOException {
// TODO Auto-generated method stub
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("osw.txt"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("test.txt"));
byte[] bys = new byte[1024];
int len =0;
while((len = bis.read(bys)) != -1){
bos.write(bys,0,len);
}
bis.close();
bos.close();
}
}
字符流复制数据的五种方式:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 字符流复制文件五种方式
*/
public class FiveMethodReaderWriter {
public static void main(String[] args) throws IOException {
//method1();
//method2();
//method3();
//method4();
method5();
}
/**
* 基本字符流,一次复制一个字符
*/
private static void method1() throws IOException {
// TODO Auto-generated method stub
FileReader fr=new FileReader("osw.txt");
FileWriter fw =new FileWriter("test.txt");
int b=0;
while((b = fr.read())!= -1){
fw.write(b);
}
fr.close();
fw.close();
}
/**
* 基本字符流,一次复制一个字符数组
*/
private static void method2() throws IOException {
// TODO Auto-generated method stub
FileReader fr=new FileReader("osw.txt");
FileWriter fw =new FileWriter("test.txt");
char[] b=new char[1024];
int len=0;
while((len = fr.read(b))!= -1){
fw.write(b,0,len);
}
fr.close();
fw.close();
}
/**
* 带缓冲区字符流一次复制一个字符
*/
private static void method3() throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader("osw.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
int b=0;
while((b=br.read())!=-1){
bw.write(b);
}
br.close();
bw.close();
}
/**
* 带缓冲区字符流,一次复制一个字符数组
*/
private static void method4() throws IOException{
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader("osw.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
char[] ch=new char[1024];
int len=0;
while((len=br.read(ch))!=-1){
bw.write(ch,0,len);
}
br.close();
bw.close();
}
/**
* 一次复制一行数据
*/
private static void method5() throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader("osw.txt"));
BufferedWriter bw=new BufferedWriter(new FileWriter("test.txt"));
String s=null;
while((s=br.readLine())!=null){
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
/**
* 改进版,用打印流写入
*/
BufferedReader bs = new BufferedReader(new FileReader("fos.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("fox.txt"),true);
String line = null;
while((line=bs.readLine())!=null){
pw.println(line);
}
pw.close();
bs.close();