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();
}
}
}
}