岚山网站建设报价,房产信息查询网,网站的动画广告横幅怎么做的,网站qq访客记录原理1、缓冲流
BufferedReader是最好用的文本读入方式其它的不常用#xff0c;了解一下就行。 带有缓冲区的数据流#xff0c;大概意思就是会把你要的数据读取完成之后一次发给你。 BufferedInputStream BufferedInputStream in new BufferedInputStream(new FileInputStream(n…1、缓冲流
BufferedReader是最好用的文本读入方式其它的不常用了解一下就行。 带有缓冲区的数据流大概意思就是会把你要的数据读取完成之后一次发给你。
BufferedInputStream BufferedInputStream in new BufferedInputStream(new FileInputStream(new File(filename)));
BufferedOutputStream BufferedOutputStream out new BufferedOutputStream(new FileOutputStream(new File(filename)));
BufferedReader (最好用的文本读入方式) BufferedReader br new BufferedReader(new FileReader(new File(filename)));
BufferedReader br new BufferedReader(new FileReader(new File(a.txt)));
String str ;
while((str br.readLine()) ! null) {System.out.println(str);
}
br.close();
BufferedWriter BufferedWriter bw new BufferedWriter(new FileWriter(new File(filename)));
2、转换流 转换流只能将字节流转换为字符流
InputStreamReader OutputStreamWriter,分别为读取与写入中字节流与字符流的转化。
使用
System.in 是字节流从输入中读取首先用InputStreamReader将字节流转为字符流然后就能用缓冲流中的BufferedReader来读取字符流中的文本数据
System.out是字节流输出在黑框中首先使用OutputStream将其转换为字符流然后就可以用字符流进行输出。 其它的字节流用法跟这个相同都是一层一层套。 记得flush否则是不会在黑框中显示的。 需要注意的是如果将System.in关闭也就是close那么通道就会关闭所以这个流是不用进行关闭的。
BufferedReader br new BufferedReader(new InputStreamReader(System.in));
System.out.println(字符串 br.readLine());
Writer writer new OutputStreamWriter(System.out);
writer.write(asdfa );
writer.flush();
3、对象流
ObjectInputStream 对象读取
// 对象读取流、处理流 节点流 目标文件
ObjectInputStream ois new ObjectInputStream(new FileInputStream(new File(person.dat)));
Object o ois.readObject(); // 读取一个对象
Person p (Person)o;
System.out.println(p.getName() p.getAge() p.getId());
ObjectOutputStream 对象写入
// 对象写入流、处理流 节点流 目标文件
ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(new File(person.dat)));
Person person new Person(1, 张淏, 21);
oos.writeObject(person); // 直接写入一个对象
oos.flush();
oos.close(); 序列化就是将一个对象转化成字节的过程如果所需要存储的对象没有进行序列化则会失败报错 Exception in thread main java.io.NotSerializableException: com.obj.Person at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) at com.obj.test.main(test.java:9) 反序列化就是把字节转化成对象 所以需要对操作的对象进行序列化操作因为类都是支持序列化操作的只不过默认是不打开的只需要实现一下Serializable接口即可,只需要implements一下即可不需要真的进行实现。
public class Person implements Serializable {// 。。。
}