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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 |
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class BufTest { public
static void main(String[] args) { /** * 创建一个文本,并且通过控制台写入文本 * 步骤: * 1.首先我们要将控制台输入的二进制转换成字符,然后通过BufferedReader读入缓冲区 * 2.再通过BufferedReader的ReadLine()方法将缓冲区的内容读取内存 * 3.创建BufferedWriter对象,将内存里的字符通过BufferedWriter的write()方法写入BufferedWriter缓冲区 * 4.最后通过BufferedWriter的flush()方法将缓冲区的内容刷新到指定文本 * 5.一定要记得关闭输入流和输出流,以便释放系统资源(系统不会自动释放堆里的资源所以我们要手动释放) */ BufferedReader bufR = null ; BufferedWriter bufW = null ; try
{ //将输入的字节流转换成字符流存入缓冲区 //这里我们要注意 让缓冲区和对应的流关联 //System.in的返回值是InputStream类型 bufR = new
BufferedReader( new
InputStreamReader(System.in)); //将键盘录入的数据写到a.txt文件里 bufW = new
BufferedWriter( new
FileWriter( "a.txt" )); String content = null ; //BufferedReader的readLine()方法是读取一行的意思,返回的是一个String类型的,不带换行符 while ((content = bufR.readLine()) != null ){ //System.out.println(content); //忽略大小写,如果输入over,结束程序运行 if (content.equalsIgnoreCase( "over" )){ break ; } //以下这两个方法都能实现换行 //bufW.write(content + System.getProperty("line.separator")); bufW.write(content); bufW.newLine(); //写入一个换行符 } bufW.flush(); // } catch
(IOException e) { new
FileWriterIoException( "创建流错误!" ); System.out.println(e.toString()); e.printStackTrace(); } finally { try
{ //关闭流之前,要判断一下该流是否为null,避免空指针错误 if (bufW != null ){ bufW.close(); } if (bufR != null ){ bufR.close(); } } catch
(IOException e) { new
CloseStreamException( "关闭流异常" ); e.printStackTrace(); } } } } |
将键盘录入的内容写入到一个文件,布布扣,bubuko.com
原文:http://www.cnblogs.com/lxricecream/p/3579845.html