java学习day12--IO对比,序列化

2018.6.19 1.IO 字节流 InputStream OutputStream 字符流 Reader Writer

 字节流
    FileInputStream in = new FileInputStream("d:/b.txt");
    int i1 = in.read();
    int i2 = in.read();
    int i3 = in.read();
    String s =new String(new byte[] {(byte) i1,(byte) i2,(byte) i3});
    System.out.println(s);
    byte[] b = new byte[10];
    in.read(b);
    String str = new String(b);
    System.out.println(str);

字节缓冲流 缓冲流一定要flush() 否则不能写入

   BufferedInputStream in = new BufferedInputStream(new FileInputStream(""));
   BufferedOutputStream out = new BufferedOutputStream(new FileOutputStrea(""));
   byte[] b = new byte[1024];
   int len;
   while((len=in.read())!=-1){
    out.write(b,0,len);
    out.flush();
}
 转换流:
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("d:/a.txt"));
    InputStreamReader in = new InputStreamReader(new FileInputStream("d:/a.txt"));

    out.write("哈哈\n我喜欢你走在我的身旁,永远会在你的身边");
    char[] c = new char[1];
    int len;
    while((len=in.read(c))!=-1) {
        System.out.print(c);
        }
    out.close();
    in.close();
 字符缓冲流
       BufferedReader br = new BufferedReader(new FileReader("d:/a.txt"));
    BufferedWriter w = new BufferedWriter(new FileWriter("d:/b.txt") );
    char[] c = new char[10];
    br.read(c);
    System.out.println(c);
    w.write(c);
    br.close();
    w.close();

2.编码 utf-8 3个字节一个汉字 gbk 2个字节一个汉字 乱码的原因:编码和解码的方式不一致。


3.String和Byte String转byte byte[] b = s.getBytes(); byte转String String s = new String(byte);


4.序列化 Java序列化是指把Java对象转换为字节序列的过程

Java反序列化是指把字节序列恢复为Java对象的过程

注意:public class People implements Serializable

  ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("d:/a.txt"));
    People p = new People(12,"ahha");
    out.writeObject(p);
    out.close();

    ObjectInputStream in = new ObjectInputStream(new FileInputStream("d:/a.txt"));
    Object o = in.readObject();
    System.out.println(o);
    in.close();

5.Properties集合 Properties概述 属性 作为配置文件用 Properties 作为Map集合的使用

Properties p = new Properties();
    p.load(new FileInputStream("./conf/bean.properties"));
    String name = p.getProperty("name");
    System.out.println(name);

6.计算程序运行时间

long l = system.currentTimeMillis();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

JSP与EL表达式重点学习笔记(2)

EL(表达式语言) 1 EL概述 ? 1.1 EL的作用 JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标...

27940
来自专栏java系列博客

JAVA 将xml文件转换成String

1.5K30
来自专栏cs

java对文件的操作如下

11820
来自专栏闻道于事

Java之IO流补充

IO流例子 package com.hanqi.maya.util; import java.io.BufferedReader; import java.i...

361100
来自专栏xingoo, 一个梦想做发明家的程序员

Java程序员的日常—— IOUtils总结

以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方...

62090
来自专栏java架构师

Android一 流

补充Java知识:流 java.io 四个抽象类: 字节流:InputStream OutputStream 字符流:Reader Writer 站在程序角度上...

360110
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-21(01)总结字符流,IO流编码问题,实用案例必做一遍

1:字符流(掌握) // 字节流读取中文可能出现的小问题(所以用字符流输入输出中文) package cn.itcast_01; import java.io...

34640
来自专栏Hongten

java开发_读写txt文件操作

========================================================

75720
来自专栏李家的小酒馆

Java IO(IO流)-2

IO流 第一部分 (OutputStreamWriter BufferOutputStream) 转换流 超类为Reader和Writer 是字符流通向字节流的...

20500
来自专栏Android干货

Java数据解析---SAX

384120

扫码关注云+社区

领取腾讯云代金券