字符流三种比较常用的输入输出方法,另外还有两种单个字符的输入输出,用缓冲流包装的单个字符的输入输出,
这不多写了,.
方法如下:
package com.java2017_04_07;
import java.io.*;
public class Test {
static final String PATH1 = "F:\\3140731232\\gg\\g.txt";
static final String PATH2 = "F:\\3140731232\\gg\\t1.txt";
public static void main(String[] args) {
m1();
m2();
m3();
}
//第一种,字符数组读取和输出
public static void m1() {FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader(PATH1);
fw = new FileWriter(PATH2);
int len = 0;
char[] c = new char[1024];
while ((len=fr.read(c))!=-1) {
fw.write(c, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr!=null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fw!=null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//第二种,用缓冲流包装的字符数组输入输出
public static void m2() {BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader(PATH1));
bw = new BufferedWriter(new FileWriter("F:\\3140731232\\gg\\t2.txt"));
int len = 0;
char[] c = new char[1024];
while ((len=br.read(c))!=-1) {
bw.write(c, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bw!=null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//第三种,用缓冲流包装的每次读取一行字符的输入输出
public static void m3() {BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(PATH1));
bw = new BufferedWriter(new FileWriter("F:\\3140731232\\gg\\t3.txt"));
String str = null;
while ((str=br.readLine())!=null) {
bw.write(str);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bw!=null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}