java字符流读取字符

java字符流读取字符

java字符流读取一个字符,我觉得没啥意义,还不如用字节流得了。字符流在字节流后出现,也是用于处理多行文字时方便吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.*;


public class MyTest
{

public static void main(String args[])
{

File f = new File("E:\\text.txt");
try
{
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
while(br.ready())
{
System.out.println(br.readLine());
}
}
catch(Exception e){}
}
}

java字符流复制文本文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.*;


public class MyTest
{

public static void main(String args[])
{

File f1 = new File("E:\\text.txt");
File f2 = new File("E:\\text2.txt");

try
{
FileReader fr = new FileReader(f1);
FileWriter fw = new FileWriter(f2);

BufferedReader br = new BufferedReader(fr);
PrintWriter pw = new PrintWriter(fw);

while(br.ready())
{
pw.println(br.readLine());
}
br.close();//不知道读缓冲区要不要关,去掉这句也行
pw.close();
//程序结束前,需要调用一个flush方法,以便将缓冲区的内容刷新到文件中;
//也可以直接调用close方法,close会调用flush方法,同时close会关闭这个流
}
catch(Exception e){}

}
}

注意:想test1.txt中写入大量内容,而不是close或flush,到了一定程度,这个文件也会有内容。这是因为缓冲区有限,一旦缓冲区装满了,程序也会自动将缓冲区里的内容刷新到文件中。

个人感觉字符流适合处理文本文件,不适合复制大文件,复制大文件用字节流比较合适。