java中的IO操作(二)【个人笔记】
2017-05-12 07:22
357 查看
能与流结合的集合——Properties
Map
|--Hashtable
|--Properties
Properties集合
特点:
1.该集合中的键和值都是字符串类型
2.集合中的数据可以保存到流中,或者从流中获取数据
通常该集合用于操作以键值对形式存在的配置文件
常用方法
setProperty(String key, String value);
load();
store(); //持久化
PrintStream:字节打印流
1,提供了打印方法可以对多种数据类型值进行打印。并保持数据的表示形式
2,不抛IOException异常
构造函数,接收三种类型的值
1,字符串路径
2,File对象
3,字节输出流
演示:
PrintStream out = new PrintStream("print.txt");
out.write(97);//文件中写入a
out.print(97);//文件中写入97
out.close();
PrintWriter:字符打印流
构造函数参数
1,字符串路径
2,File对象
3,字节输入流
4,字符输出流
演示:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out);
String line = null;
while ((line = bufr.readLine()) != null) {
if ("over".equals(line)) break;
out.println(line);
out.flush();
}
out.close();
bufr.close();
流的序列化《合并》——SubsequenceInputStream
将几个输入流合并成一个流
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
al.add(new FileInputStream("info.txt"));
al.add(new FileInputStream("print.txt"));
al.add(new FileInputStream("test_myself.txt"));
对象的序列化(ObjectOutputStream)与反序列化(ObjectInputStream)
序列化:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.object"));
oos.writeObject(new Person("小强", 30)); 反序列化
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.object"));
Person p = (Person)ois.readObject();
随机访问文件——RandomAccessFile
它不是IO体系中的子类
特点:
1.该对象既能读,又能写
2.该对象内部维护了一个byte数组,并通过指针可以操作数组中的元素
3.文件指针可以通过getFilePointer方法读取位置,通过seek方法设置位置
4.其实该对象就是将字节输入流和输出流进行了封装
5.该对象的源或者目的只能是文件。通过构造函数可以看出
常用方法:
getFilePointer();
seek();
管道流
PipedInputStream
PipedOutputStream
使用管道流要用上多线程
常用方法:connect
操作基本数据类型的流
DataInputStream
DataOutputStream
操作字节数组的流
ByteArrayInputStream
ByteArrayOutputStream
Map
|--Hashtable
|--Properties
Properties集合
特点:
1.该集合中的键和值都是字符串类型
2.集合中的数据可以保存到流中,或者从流中获取数据
通常该集合用于操作以键值对形式存在的配置文件
常用方法
setProperty(String key, String value);
load();
store(); //持久化
PrintStream:字节打印流
1,提供了打印方法可以对多种数据类型值进行打印。并保持数据的表示形式
2,不抛IOException异常
构造函数,接收三种类型的值
1,字符串路径
2,File对象
3,字节输出流
演示:
PrintStream out = new PrintStream("print.txt");
out.write(97);//文件中写入a
out.print(97);//文件中写入97
out.close();
PrintWriter:字符打印流
构造函数参数
1,字符串路径
2,File对象
3,字节输入流
4,字符输出流
演示:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(System.out);
String line = null;
while ((line = bufr.readLine()) != null) {
if ("over".equals(line)) break;
out.println(line);
out.flush();
}
out.close();
bufr.close();
流的序列化《合并》——SubsequenceInputStream
将几个输入流合并成一个流
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
al.add(new FileInputStream("info.txt"));
al.add(new FileInputStream("print.txt"));
al.add(new FileInputStream("test_myself.txt"));
Enumeration<FileInputStream> en = Collections.enumeration(al); //枚举 SequenceInputStream sis = new SequenceInputStream(en); //合并
对象的序列化(ObjectOutputStream)与反序列化(ObjectInputStream)
序列化:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.object"));
oos.writeObject(new Person("小强", 30)); 反序列化
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.object"));
Person p = (Person)ois.readObject();
随机访问文件——RandomAccessFile
它不是IO体系中的子类
特点:
1.该对象既能读,又能写
2.该对象内部维护了一个byte数组,并通过指针可以操作数组中的元素
3.文件指针可以通过getFilePointer方法读取位置,通过seek方法设置位置
4.其实该对象就是将字节输入流和输出流进行了封装
5.该对象的源或者目的只能是文件。通过构造函数可以看出
常用方法:
getFilePointer();
seek();
管道流
PipedInputStream
PipedOutputStream
使用管道流要用上多线程
常用方法:connect
操作基本数据类型的流
DataInputStream
DataOutputStream
操作字节数组的流
ByteArrayInputStream
ByteArrayOutputStream
相关文章推荐
- java中的IO操作(一)【个人笔记】
- 〖JAVA IO〗_IO操作实例笔记
- java学习笔记(十三)----IO操作
- 黑马程序员——JAVA笔记——IO操作
- Java基础视频笔记(七):IO操作
- Java笔记—IO操作
- 〖JAVA IO〗_实例操作—单人信息管理程序笔记
- 〖JAVA IO〗_IO操作实例笔记
- 黑马程序员——JAVA笔记——IO操作(2)
- 〖JAVA IO〗_实例操作:投票程序笔记
- Java学习笔记——File类文件管理及IO读写、复制操作
- java笔记-IO流-IO基本操作
- Java学习笔记——File类文件管理及IO读写、复制操作
- Elyar的Java笔记--Java IO 操作
- Java基本笔记之IO操作
- Java学习笔记——IO操作之以图片地址下载图片
- java学习笔记(四)——io操作
- Java学习笔记——IO操作之以图片地址下载图片
- Java学习笔记---IO操作
- [学习笔记]Java文件IO操作------实现对文件的读取与写入