整体与字符流一致,详见字节流—输入输出、字节流—复制文件和文件夹
代码如下
字符流输入
package cn.hxh.io.charIO;
import java.io.*;
public class Demo01 {
public static void main(String[] args) {
File in = new File("D:/aa/a.txt");
Reader r;
String s = null;
try {
r = new FileReader(in);
char[] flush = new char[1024];
int len = 0;
while (-1 != (len = r.read(flush))) {
s = new String(flush, 0, len);
}
r.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(s);
}
}
字符流输出
package cn.hxh.io.charIO;
import java.io.*;
public class Demo02 {
public static void main(String[] args) {
File src = new File("d:/aa/a.txt");
Writer w = null;
String s = "写入\r\n";
try {
w = new FileWriter(src);
w.write(s);
w.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (w != null) {
try {
w.close();
} catch (IOException e) {
e.printStackTrace();
}
;
}
}
}
}
通过字符流复制文本文件
package cn.hxh.io.charIO;
import java.io.*;
public class charCpyeFile {
public static void main(String[] args) {
File in = new File("D:/aa/a.txt");
File out = new File("D:/aa/b.txt");
Reader re = null;
Writer wr = null;
char[] flush = new char[1024];
int len = 0;
try {
re = new FileReader(in);
wr = new FileWriter(out);
while (-1 != (len = re.read(flush)))
wr.write(flush, 0, len);
wr.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (wr != null)
wr.close();
if (re != null)
re.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}