java字符、字节流复制

来源:互联网 发布:js设置input可以编辑 编辑:程序博客网 时间:2024/04/30 10:43
package copy.txt;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Test {public static void main(String[] args) throws IOException {//bufferedCopy1("a.txt", "c.txt");copy3("a.txt", "g.txt");}//字符流复制方法7种,字节流复制4种// 基本字节流复制,一次复制一个字节private static void copy1(String source, String destination)throws IOException {// TODO Auto-generated method stubFileInputStream is = new FileInputStream(source);FileOutputStream os = new FileOutputStream(destination);int b;while ((b = is.read()) != -1) {os.write(b);}os.close();is.close();}// 基本字节流复制,一次复制一个字节数组private static void copy2(String source, String destination)throws IOException {// TODO Auto-generated method stubFileInputStream is = new FileInputStream(source);FileOutputStream os = new FileOutputStream(destination);int len;byte[] arr = new byte[1024];while ((len = is.read(arr)) != -1) {os.write(arr, 0, len);}os.close();is.close();}//带缓冲区的字节流复制,一次复制一个字节private static void copy3(String source, String destination) throws IOException {// TODO Auto-generated method stubBufferedInputStream bis=new BufferedInputStream(new FileInputStream(source));BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(destination));int b;while((b=bis.read())!=-1){bos.write(b);}bis.close();bos.close();}//带缓冲区的字节流复制,一次复制一个数组private static void copy4(String source, String destination) throws IOException {// TODO Auto-generated method stubBufferedInputStream bis=new BufferedInputStream(new FileInputStream(source));BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(destination));int b;byte[] arr=new byte[1024];while((b=bis.read(arr))!=-1){bos.write(arr,0,b);}bis.close();bos.close();}//基本的单个字符复制,一次复制一个字符private static void copy5(String source, String destination)throws IOException {// TODO Auto-generated method stubInputStreamReader isr=new InputStreamReader(new FileInputStream(source));OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(destination));int b;while((b=isr.read())!=-1){osw.write(b);}isr.close();osw.close();}//基本的单个字符复制,一次复制一个字符数组private static void copy6(String source, String destination) throws IOException {// TODO Auto-generated method stubInputStreamReader isr=new InputStreamReader(new FileInputStream(source));OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(destination));int len;char[] arr=new char[1024];while((len=isr.read(arr))!=-1){osw.write(arr,0,len);osw.flush();}isr.close();osw.close();}//private static void copy7(String source, String destination)throws IOException {// TODO Auto-generated method stubFileReader fr=new FileReader(source); //  FileReader extends InputStreamReaderFileWriter fw=new FileWriter(destination); //FileWriter extends OutputStreamWriterint b;while((b=fr.read())!=-1){fw.write(b);}fr.close();fw.close();}private static void copy8(String source, String destination) throws IOException {// TODO Auto-generated method stubFileReader fr=new FileReader(source);FileWriter fw=new FileWriter(destination);int len;char[] arr=new char[1024];while((len=fr.read(arr))!=-1){fw.write(arr,0,len);fw.flush();}fr.close();fw.close();}//带缓冲区的字符复制,一次复制一个字符private static void copy9(String source, String destination) throws IOException {// TODO Auto-generated method stub BufferedReader br=new BufferedReader(new FileReader(source)); BufferedWriter bw=new BufferedWriter(new FileWriter(destination));  int b; while((b=br.read())!=-1){ bw.write(b);  } bw.close(); br.close();}//带缓冲区的字符复制,一次复制一个字符数组private static void copy10(String source, String destination) throws IOException {// TODO Auto-generated method stub BufferedReader br=new BufferedReader(new FileReader(source)); BufferedWriter bw=new BufferedWriter(new FileWriter(destination));  int b; char [] arr=new char[1024]; while((b=br.read(arr))!=-1){ bw.write(arr); bw.flush();  } bw.close(); br.close();}//带缓冲区的字符流复制,一次复制一行字符private static void copy11(String source, String destination) throws IOException {// TODO Auto-generated method stub BufferedReader br=new BufferedReader(new FileReader(source)); BufferedWriter bw=new BufferedWriter(new FileWriter(destination)); String b; while((b=br.readLine())!=null){ bw.write(b); bw.newLine(); bw.flush();  } bw.close(); br.close();}}

0 0
原创粉丝点击