java5.30学习笔记
2016-05-30 19:52
399 查看
bufferedWriter的原理:
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html这个writer并不会立即将字符写入目标流里,而是先暂时写在一个“缓冲区”,直到如下情况,缓冲区里的内容才会输出到输出流里:
1 缓冲区满了
2 调用了BufferedWriter的flush方法
3 调用了BufferedWriter的close方法,该方法会先flush缓冲区到输出流。
你的代码正如一楼所说,再还没有将BufferedWriter的缓冲区输出到流里,就退出了整个Java,自然输出文件里不会有任何内容。
日志系统
import java.io.*; public class TestLog { public static void main(String[] args) { String s = null; //接受控制台输入,转换为字符流然后转化为处理流可以读一行。 BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); try { //确定写入文件并且在最后不覆盖输出。 FileWriter fw = new FileWriter( "c:/Users/Administrator/Desktop/自学心得.txt",true); //包装为print流,可以不抛异常自动flush。 PrintWriter log = new PrintWriter(fw); log.println("----" + new Date() + "----"); while ((s = br.readLine()) != null) { if(s.equalsIgnoreCase("exit")){ break; } //s.println(s + "。"); //写入操作。 log.println(s + "。"); } log.flush(); log.close(); } catch(IOException e) { e.printStackTrace(); } } }
相关文章推荐
- Easy-题目4:226. Invert Binary Tree
- Easy-题目3:104. Maximum Depth of Binary Tree
- struts2验证规则validation配置文件命名方式总结
- 在spring框架中配置Quartz定时器发生错误: class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as sup
- struts2验证规则validation配置文件命名方式总结
- spring mvc 删除返回字符串中值为null的字段
- java基本语法之基本数据类型详解
- eclipse相关资源
- Java代码判断字符串是否为汉字
- eclipse explorer插件
- Java 线程池源码
- java中包与包之间的资源访问
- java Socket编程
- java删除文件或文件夹及子文件夹
- TOMACAT部署的问题
- Was7中解决jar包冲突
- Chp3 流程控制
- java容易混淆的的内部类相关概念
- protobuf在java应用中通过反射动态创建对象
- springMVC使用@ControllerAdvice实现异常处理