io流笔记第四发用字符流读写
2016-03-05 15:47
253 查看
这次用的是字符流来读写,FileReader和FileWriter 这里要注意的是在写的时候要去刷缓存,不然不会显示。但是我们也可以用关流来让系统自动调用一次刷缓存,当我们关流后就不能再进行写入操作了,否则会出异常的换行/windows 用\r\n 但是linux用\n我们也可以系统获得换行符如private static String Line_Sparator=System.getProperty("line.separator");来获得相应的换行符。这里结合之前学过的关流模板进行完整的用字符流异常处理的模板代码。以及演示字符流的读取(循环读到文件末尾)
-----一块块地读,效率更高——就是用一个char类型的数组然后System.out.print(new String(buf,0,len));,与之前的提到过的用System.out.print((char)buf[i])是相似的。好了,本次的知识点就这么多了。今天头有点晕了,偷点懒,嘻嘻
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
下面和之前的一样 上代码:
-----一块块地读,效率更高——就是用一个char类型的数组然后System.out.print(new String(buf,0,len));,与之前的提到过的用System.out.print((char)buf[i])是相似的。好了,本次的知识点就这么多了。今天头有点晕了,偷点懒,嘻嘻
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
下面和之前的一样 上代码:
package cn.hncu.io2; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.filechooser.FileFilter; public class MyFilerReaderWriter {//用字符流写数据时要注意刷缓存 private static String Line_Sparator=System.getProperty("line.separator");//利用系统 属性来获得相应的换行符 private static void write2File() throws IOException { FileWriter fw=new FileWriter("a.txt"); fw.write("adfadjk"); // fw.flush();//刷缓存 否则数据不写出 fw.write("\r\n湖南城市学院");//windows 用\r\n 但是linux用\n //综上,无论是windows还是Linux,“\r\n”都会换行 fw.write("我编程我快乐"+Line_Sparator+"每天进步一点点"); fw.close();//关流时系统会自动掉用fw.flush. //流一旦关闭,就不能再写了,否则会出异常的 } //用字符流异常处理的模板代码 private static void write2File2() { FileWriter fw=null; try { fw=new FileWriter("e:/abc/a/ae.txt"); fw.write("随便输"); fw.flush(); } catch (IOException e) { System.out.println(e.toString()); }finally{ if(fw!=null){ try { fw.close(); } catch (IOException e) { throw new RuntimeException("关流失败"); } } } } //演示字符流的读取(循环读到文件末尾) 字符流读取时不用flush,写要 private static void readFromFile() { FileReader fr=null; try { fr=new FileReader("e:/abc/a/ae.txt"); int ch=0; while((ch=fr.read())!=-1){ System.out.print((char)ch); } } catch (IOException e) { }finally{ if(fr!=null){ try { fr.close(); } catch (IOException e) { throw new RuntimeException("关流失败"); } } } } //演示字符流的读取(循环读到文件末尾) -----一块块地读,效率更高 private static void readFromFile2() { FileReader fr=null; try { fr=new FileReader("e:/abc/a/ae.txt"); char buf[]=new char[1024]; int len=0; while((len=fr.read(buf))!=-1){ System.out.print(new String(buf,0,len)); } } catch (IOException e) { }finally{ if(fr!=null){ try { fr.close(); } catch (IOException e) { throw new RuntimeException("关流失败"); } } } } public static void main(String[] args) { // try { // write2File(); // write2File2(); // readFromFile(); // } catch (IOException e) { // e.printStackTrace(); // } readFromFile2(); } }
相关文章推荐
- Web缓存基础:术语、HTTP报头和缓存策略
- iOS 获取视频的任意一帧
- 花样ProgressBar
- Android内存优化—SparseArray和ArrayMap
- Dijkstra算法
- poj2112 二分+floyd+最大流 好题
- iOS - Swift - 语法糖
- Python基础记录
- 20160305 VS2013遇到代码字体颜色异常,打字反应变慢,鼠标不断转圈的解决办法
- Bloom Filter
- 文档格式规范
- hdoj-1058(优先队列)---priority_queue====丑数
- 离职与跳槽
- iOS 第三方库 - iCarousel
- 单位转换
- 冒泡排序
- 如何用手机在上网的网页中链接访问跳转到手机本地qq上直接聊 ...
- sql语句两个练习 emp dept
- Python GUI:高级作图tkinter模块的常用函数.md
- Python GUI:高级作图tkinter模块的常用函数基本的动画和事件绑定