---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

本篇包含几个示例,分别说明字符流(BufferedReader和BufferedWriter)、字节流(BufferedInputStream和BufferedOutputStream)、PrintStream、Properties的使用。

示例一:复制一个Java源文件

import java.io.*;
class  CopyTextByBuf
{public static void main(String[] args) {//建立缓冲区读写对象引用,因为要在不同的代码块内使用,所以定义在try外BufferedReader bufr = null;BufferedWriter bufw = null;//进行读写操作try{bufr = new BufferedReader(new FileReader("BufferedWriterDemo.java"));bufw = new BufferedWriter(new FileWriter("bufWriter_Copy.txt"));String line = null;while((line=bufr.readLine())!=null){bufw.write(line);bufw.newLine();bufw.flush();}}catch (IOException e){throw new RuntimeException("读写失败");}//关闭资源finally{try{if(bufr!=null)bufr.close();}catch (IOException e){throw new RuntimeException("读取关闭失败");}try{if(bufw!=null)bufw.close();}catch (IOException e){throw new RuntimeException("写入关闭失败");}}}
}

编译运行:

复制成功:

查看:

示例二:复制一个图片文件

思路:

1,用字节读取流对象和图片关联。

2,用字节写入流对象创建一个图片文件。用于存储获取到的图片数据。

3,通过循环读写,完成数据的存储。

4,关闭资源。

import java.io.*;
class  CopyPic
{public static void main(String[] args) {FileOutputStream fos = null;FileInputStream fis = null;try{fos = new FileOutputStream("c:\\2.bmp");fis = new FileInputStream("c:\\1.bmp");byte[] buf = new byte[1024];int len = 0;while((len=fis.read(buf))!=-1){fos.write(buf,0,len);}}catch (IOException e){throw new RuntimeException("复制文件失败");}finally{try{if(fis!=null)fis.close();}catch (IOException e){throw new RuntimeException("读取关闭失败");}try{if(fos!=null)fos.close();}catch (IOException e){throw new RuntimeException("写入关闭失败");}}}
}

编译运行:

复制成功:

查看:

示例三:创建异常日志文件

import java.io.*;
import java.util.*;
import java.text.*;
class  ExceptionInfo
{public static void main(String[] args)throws IOException {try{int[] arr = new int[2];System.out.println(arr[3]);}catch (Exception e){try{Date d = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String s = sdf.format(d);PrintStream ps = new PrintStream("exeception.log");ps.println(s);System.setOut(ps);}catch (IOException ex){throw new RuntimeException("日志文件创建失败");}e.printStackTrace(System.out);}}
}

编译运行:

运行结果:

查看:

示例四:查看系统信息

import java.util.*;
import java.io.*;
class  SystemInfo
{public static void main(String[] args) throws IOException{Properties prop = System.getProperties();prop.list(new PrintStream("sysinfo.txt"));}
}

编译运行:

运行结果:

查看:


---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(2)相关推荐

  1. 黑马程序员------毕老师视频笔记第22天------图形化编程(2)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 鼠标事件.键盘事件 这两个事件应该是所有组件都 ...

  2. 黑马程序员------毕老师视频笔记第五天------面向对象(封装)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 封装:是指隐藏对象的属性和实现细节,仅对外提供 ...

  3. 黑马程序员------毕老师视频笔记第23-24天------网络编程(1)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一概述 java对网络编程的支持很强.网络通信 ...

  4. 黑马程序员------毕老师视频笔记第十二天------多线程(3)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- (回顾) 多线程导致安全问题的原因: l  多 ...

  5. 黑马程序员------毕老师视频笔记第七天------面向对象(模板方法设计模式)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 模板方法设计模式:定义功能时,功能的一部分是确 ...

  6. 黑马程序员------毕老师视频笔记第13-17天------集合Collection-Set-(HashSet、TreeSet)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Collection中除了List之外还有一个 ...

  7. 黑马程序员------毕老师视频笔记第七天------面向对象(抽象类)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 当多个类中出现了相同的功能,但是功能主体不同, ...

  8. 黑马程序员------毕老师视频笔记第六天------面向对象(对象初始化过程)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Person p = new Person(& ...

  9. 黑马程序员------毕老师视频笔记第22天-----图形化编程(GUI)(1)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 用户与计算机交互有两种方式:命令行,图形化界面 ...

最新文章

  1. 分布式TCP压力测试工具 tcpcopy
  2. PIC最简约的PWM波形产生程序(PIC16F877A)
  3. 2022-01-07
  4. SOA 设计原则和 Web 服务中的数据传输
  5. 人工智能:物体检测之Faster RCNN模型
  6. Echarts API说明文档
  7. C# 中打印、预览、打印机设置和打印属性的方法
  8. 数据访问层代码自动生成
  9. js时间格式化函数(兼容IOS)
  10. vue项目实践教程1:vux项目搭建和简介
  11. ios自定义UITextView 支持placeholder的方法
  12. html5液体效果,HTML5/CSS3/SVG实现的液体掉落(滑落)动画
  13. JDK自带的Timer类
  14. Invalid escape sequence(valid ones are \b \t \n \f \r \ \' \\)
  15. jQuery动画:实现渐入渐出
  16. ssm中web配置各框架的配置文件路径方式
  17. java代码实现乘法口诀表
  18. VisualStudio 2017 c++安装
  19. fMRI与MRI区别+名词解释+MRI中T1和T2的含义与区分
  20. PyQt5 结合 OpenCV 的开发之旅

热门文章

  1. TI DSP TMS320C66x学习笔记之通用并行端口uPP(二)
  2. 超实用的新闻稿写作格式和技巧分享,快来收藏吧
  3. 新工作,新环境,新征程
  4. SAP 成本中心分配和分摊
  5. Android 多国语言文件夹命名方式
  6. 考勤数据处理,一天4打卡,一列转多列
  7. 软件测试中抓包测试,抓包的目的是什么?
  8. 机器学习19:反卷积算法
  9. UkeLib Chords Pro for Mac(尤克里里和弦大全)
  10. ajax学什么难,ajax分析与讲解,其实ajax一点也不难,只是你把它看难了