昨天干了点不正常的事儿,感觉还是自制力不行。今天俺的瑜伽垫子回来了,可以开始这一方面的锻炼了;今天舍友回家,得一个人住一个月了对于我这种自制力不行的人来说这也是一种折磨啊!开始技术~~
昨天在【15】中学习了流的转换,今天就来利用它编写一些小代码。
(1)需求:将键盘录入的数据写入到一个文件中。对于这个需要想到字节流写文件的方法FileOutputStream();代码如下:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("a.txt")));
String line = null;
while((line=bufr.readLine())!=null){
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
(2)需求:将一个文本文件内容显示在控制台上。看到这个需求需要能想到在这里原文件是FileInputStream,而目的地应该是System.out输出在控制台。所以代码如下:
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=bufr.readLine())!=null){
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
(3)将一个文本文件的内容复制到另一个文本文件中。这样子结合上面的俩例子可以很容易写出。
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt")));
String line = null;
while((line=bufr.readLine())!=null){
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
看到这里就可以感觉出,其实IO流有规律可循,并且当掌握这个规律后IO流的操作相当简单。所以下一个就探讨IO的规律。