字节流和字符流的区别在于他们的处理方法,字节流是最基本的,采用ASCII编码。
但实际上很多数据都是文本,因此提出了字符流的概念,并采用了unicode代码
两者之间通过inputStreamReader和outputStreamWriter相关,实际上通过byte[]和String相关
字节流输出:程序---字节流---文件
字符流输出:程序---字符流---缓冲区---文件
程序中的所有数据都以流的形式传输和存储
关闭字符流时强制输出缓冲区的数据,必须关闭缓冲区的内容才能输出。
如果还想在不关闭的情况下输出缓冲区的内容,请使用writer类的flush ()方法进行。
try{
fis=new file inputstream (c :dbhello.txt ); //存在
fos=newfileonputstream (c : (hello.txt ); //必要的
}
. java有几种类型的流? JDK为每种类型的流提供了抽象类以进行继承。 请告诉我各自是哪个班。
字节输入流: InputStream,字节输出流: OutputStream
字符输入流: Reader,字符输出流: Writer
说明. java.io.Serializable界面(面试经常性考试)
类通过实现Java.io.Serializable接口来启用序列化功能。 没有实现此接口的类无法序列化或反序列化状态。
1.PrintStream、缓冲写入器和打印机的比较?
PrintStream类的输出功能非常强大,通常在需要输出文本内容时,必须将输出流包装在PrintStream中进行输出。
与其他输出流不同,PrintStream决不抛出IOException; 相反,如果出现异常,则仅设置可以通过checkError方法测试的内部标志
也可以创建PrintStream进行自动更新
缓冲写入器:通过将文本写入字符输出流并缓冲单个字符来提供单个字符、数组和字符串的高效写入。 使用write (方法,可以输出检索到的字符,并在newLine ) )中执行换行操作。 必须调用flush方法清除缓冲写入器的字符流。 此外,缓冲写入器只能对字符流进行操作。 如果要处理字节流,请使用缓冲输入。
PrintWriter的println方法会自动添加换行符,而不会引发异常。 如果您在意异常,则必须调用checkError方法以查看是否发生异常。 PrintWriter构建方法通过提供参数来实现缓存的自动刷新(autoflush )。
.什么是java序列化? 如何实现java序列化?
序列化Java对象是指将Java对象写入OI流。 与此相对应,对象的反序列化从IO流中恢复Java对象。
要使对象支持序列化机制,必须使该类可序列化。 此外,要使类可序列化,必须实现序列化接口或扩展接口