天天看點

InputStreamReader和OutputStreamWriter轉換流的使用,BufferedReader字元緩沖流的使用

InputStreamReader、OutputStreamWriter轉換流的使用

package com.io.changeio;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;

import org.junit.Test;

/**
 * 轉換流的使用:
 * 在JDK中提供了兩個轉換流:InputStreamReader、OutputStreamWriter
 */
public class InputStreamReaderAndWriterTest {
	@Test
	public void test02() throws IOException {
		BufferedReader reader = new BufferedReader(
				new InputStreamReader(
						new FileInputStream(
								new File("C:\\Users\\Administrator\\Desktop\\xx.txt")), "gb2312"));
		
		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
				new File("C:\\Users\\Administrator\\Desktop\\1.txt")), "utf-8"));
		
		String line;
		while((line = reader.readLine()) != null) {
			writer.write(line);
			writer.newLine();
		}
		
		writer.close();
		reader.close();
	}
	@Test
	public void test() throws IOException {
		Reader reader = new InputStreamReader(
				new FileInputStream(
						new File("C:\\Users\\Administrator\\Desktop\\xx.txt")), "gb2312");
		Writer writer = new OutputStreamWriter(new FileOutputStream(
					new File("C:\\Users\\Administrator\\Desktop\\1.txt")), "utf-8");
		char[] cbuf = new char[1024];
		int len;
		while((len = reader.read(cbuf)) != -1) {
			writer.write(cbuf, 0, len);
		}
		writer.close();
		reader.close();
	}	
}
           

字元緩沖流的使用

package com.io.buffered;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import org.junit.Test;

// 字元緩沖流的使用

public class BufferedReaderAndWriterTest {
	// 方式二
	@Test
	public void test02() {
		BufferedReader br = null;
		BufferedWriter bw = null;
		try {
			br = new BufferedReader(
					new FileReader(new File("a.txt")));
			bw = new BufferedWriter(
					new FileWriter(new File("aaa.txt")));
			String line = null;
			while((line = br.readLine()) != null) {
				bw.write(line);
				bw.newLine(); // 換行
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (bw != null) bw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if (br != null) br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	// 方式一
	@Test
	public void test() {
		BufferedReader br = null;
		BufferedWriter bw = null;
		try {
			br = new BufferedReader(
					new FileReader(new File("a.txt")));
			bw = new BufferedWriter(
					new FileWriter(new File("aa.txt")));
			
			char[] buf = new char[1024];
			int len;
			while((len = br.read(buf)) != -1) {
				bw.write(buf, 0, len);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (bw != null) bw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if (br != null) br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}