------- android培训、java培训、期待与您交流! ----------
IO流:
Java用IO流来实现数据的输入/输出,按操作的数据分为:字节流和字符流,按流的流向分为:输入流和输出流。
缓冲流:
缓冲流提高了对数据的读写效率,对应类为BufferedReader类和BufferedWriter,
缓冲流要结合底层流对象才可以使用。
以BufferedWriter为例,使用缓冲流写入数据,
//创建一个字符写入输出流对象
FileWriter fw = new FileWriter(“buf.txt”);
//将需要被提高效率的流对象作为参数传递给缓冲区的构造函数
BufferedWriter bufw = new BufferedWriter(fw);
Bufw.write(“aaaaaaaaaaa”);
//刷新缓冲区
bufw.flush();
//关闭缓冲流,也会关闭底层输出流
bufw.chose();
流对象的基本规律:
(1)明确源和目的(输入流和输出流)
(2)操作的数据是否是纯文本,是:字符流,不是:字节流。
(3)当体系明确后,再明确使用哪个具体的对象;
通过设备来进行区分:
源设备:内存、硬盘、键盘;
目的设备:内存、硬盘、控制台。
抽象基类:
字节流的抽象基类:InputStream和OutputStream。
字符流的抽象基类:Reader和Writer。
由这四个基类派生出来的子类名称都是以其父类名为子类的后缀,可以见名知意,如InputStream的子类FileInputStream类是文件字节输入流,Reader的子类FileReader类是文件字符输入流。
处理字符文件一般使用Writer和Reader的子类,处理其他类型的数据文件如音频/视频/图像一般使用字节流。
以字符文件为例,写文件一般的步骤是:
//创建一个字符输出流
FileWriter fw = new FileWriter(“demo.txt”);
//调用write方法将字符或字符串或字符数组
fw.write(“abcdef”);
//刷新缓冲区
fw.flush();
//关闭流
fw.close();
System类:
主要用来描述系统环境,它里面的方法和属性都是静态的,主要有:
获取当前的系统属性,返回Properties对象,由于Properties是Hashtable
的子类,可以通过Map类的方法操作该集合元素;
setProperties(Properties props)和setProperty(String key, String value):
设置当前的系统属性。