字符缓冲流,properties类,序列化流与反序列化流,打印流

1.字符缓冲流的写法与字节缓冲流类似,也是用字符缓冲对象嵌套字符读写对象。格式为:

BufferedReader br=new BufferedReader(new FileReader(数据源));

BufferedWriter bw=new BufferedWriter(new FileWriter(目的地));

2.BufferedReader有一个优势是可以读取一个文本行,它的方法是readLine(),这与FileReader相区别。

3.在IO操作时选用哪个对象,要看输入还是输出,文本还是图像等,需不需要加速,是否需要转换编码。根据不同的需求选择合适的对象。

4.Properties类是一个持久的属性类,它是HashTable的子类,可以使用map集合的所有方法。它没有泛型,内部存的都是字符串,它的内部存的都是键值对。注意,Properties中存的键值对虽然都是String类型,但是不能写引号,也不能写分号。

5.Properties与HashMap类似,它的存入数据是通过setProperty方法,它的读取是通过stringPropertyNames方法来获得内部键值的key值的Set集合。

下面是一个小例子:

public static void main(String[] args) {
        Properties pro=new Properties();
        pro.setProperty("a","1");
        pro.setProperty("b","2");
        pro.setProperty("c","3");
        String a=pro.getProperty("a");
        //遍历
        Set<String> set=pro.stringPropertyNames();
        for(String str:set){
            String key=str;
            String value=pro.getProperty(key);
            System.out.println(key+"..."+value);
        }
    }

6.Properties通过load方法,读取硬盘的properties文件,load(源数据的流对象文件,可以是FileReader或FileInputStream);通过Store方法,写入硬盘的properties文件,store(目的地的流对象文件,可以是FileWriter或FileOutputStream,“提示信息”)。

下面是个小例子:

public static void main(String[] args) throws IOException {
		Properties pro=new Properties();
		pro.setProperty("school", "清华");
		pro.setProperty("father", "李刚");
		FileWriter fw=new FileWriter("C:\\Users\\Rui\\Desktop\\read\\pro.properties",true);
		pro.store(fw, "message");
		fw.flush();
		fw.close();
	}

7.对象序列化流和反序列化流是将对象写入文件和从文件中读取对象的操作,其中写入文件的对象无法被查看(乱码)。

序列化的类为ObjectOutputStream,创建对象时在构造方法中写入字节输出流对象,然后调用该对象的write(对象)方法来完成对象的序列化;反序列化的类为ObjectInputStream,创建对象时在构造方法中写入字节输入流对象,然后调用该对象的read(对象)方法来完成对象的反序列化。注:只有实现了Serializable接口的对象才能被写入和读取。

8.如果对象在序列化的过程中,不希望修改类成员变量,又不想用Static修饰,可以用transient修饰。这样序列化该类的对象时该成员变量就不会被序列化了。

9.PrintWriter/PrintStream( 流对象的目的地,true)可以开启print的自动刷新功能,打印流的print方法输入什么就是打印什么,write方法要会参照码表打印出来。

原文地址:https://www.cnblogs.com/zhangrui0328/p/9223588.html

时间: 2024-10-30 23:48:15

字符缓冲流,properties类,序列化流与反序列化流,打印流的相关文章

转换流 Properties集合 序列化 工具

今日内容介绍1.转换流2.缓冲流3.Properties集合4.序列化流与反序列化流5.commons-IO===========================================================1 转换流概述 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节 将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去 2 OutputStreamWriter写文本文件 步骤 OutputStr

转换流、序列化流、打印流、commons-io、properties

Java中传输最频繁是字符但是传输开始用的是字节流<不能看出传输的是啥>所以又有了字符流(底层为字节流); IO流的分类 |- 字节流 - 字节输入流 InputStream 抽象类 -  FileInputStream 操作文件的字节输入流 - 字节输出流 OuputStream抽象类 - FileOutputStream 操作文件的字节输出流 |- 字符流 - 字符输入流 Reader抽象类 - FileReader 用来操作文件的字符输入流(简便的流) - 字符输出流 Writer抽象类

IO【转换流,打印流,序列化】

编码: 把看的懂,变成看不懂的 String str = "中国"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));解码: 把看不懂的内容,变成能看懂的 String s = new String(bytes); System.out.println(s); java.io.OutputStreamWriter extends Writer OutputStreamWriter:转换流

Java基础IO类之打印流

package IODemo; import java.io.*; /* 打印流 : 很方便的进行输出 字节打印流 增强输出功能 字符打印流 */ public class PrintStreamDemo { private static void charPrint(){ File file = new File("d:\\test\\t.txt"); try { Writer w = new FileWriter(file,true); BufferedWriter br = ne

Java基础学习笔记【10】打印流、管道流

ByteArrayInputStream和ByteArrayOutputStream内存流,操作基本和文件流其他流差不多,主要使用在程序需要用临时文件,关闭内存流是无效的所以不用关闭 操作流,不管是什么流,最保险的方式,就是最后都close一下 内存流: ByteArrayInputStream.ByteArrayOutputStream.CharArrayReader. CharArrayWriter: 打印流: 1 2 3 4 5 6 PrintStream: print(Object o)

73. PrintStream(打印流)

PrintStream(打印流)   打印流可以打印任意类型的数据,而且打印前都会把数据转换成字符串再进行打印(就是把数据存入硬盘中) 编码与解码图例:下面我们来看看一个简单的字节输出流 public class Demo1 { public static void main(String[] args) throws IOException { File file = new File("D:\\新建文件夹\\a.txt"); FileOutputStream fileOutputS

IO流之打印流和commons-10

打印流 打印流的概述 打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式. 打印流根据流的分类: l 字节打印流 PrintStream l 字符打印流 PrintWriter 打印流完成数据自动刷新 演示: 用打印流和缓冲完成txt的复制 一个字符一个字符的复制 一个字符数一个字符数组的复制 commons-IO 导入classpath 加入classpath的第三方jar包内的class文件才能在项目中使用 创建lib文件夹 将commons-io.jar拷贝到lib文件夹 右

详解 打印流

目录 打印流 PrintStream 类: PrintWriter 类: (请观看本人博文--<详解 I/O流>) 打印流 概述: 打印流分为:字节流打印流 与 字符打印流 通过这两个流,我们可以向所关联的文件 或 或控制台 打印数据 打印流只有输出流,没有输入流 特点: 打印流只能操作目的地,不能操作数据源 (不能进行读取数据) 可以操作任意数据类型的数据,调用print() 方法可以写任意数据类型 那么,现在,本人来介绍下 字节流打印流(PrintStream 类): PrintStrea

Java学习总结(7)——(File类,IO流,(缓冲流,转换流等),Properties类)

一.File类 java.io.File类代表系统文件(文件和目录) 访问文件属性步骤 (1)创建文件对象 格式:File file=new File(String pathname); (2)调用方法:操作文件目录的属性(路径,权限,日期和时间等) File类的属性(separator默认名称分隔符) (1)在UNIX系统上,此字段的值为 '/ ';在window系统上,它为'\' (2)为了程序的跨平台性,文件的路径应该用这个属性值来代表 File类的常用方法 方法名称 说明 Boolean