博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础/IO流/、序列化和反序列化、浅复制和深复制
阅读量:4289 次
发布时间:2019-05-27

本文共 1443 字,大约阅读时间需要 4 分钟。

java.io.File 用于表示文件(目录),也就是说程序员可以通过 File 类在程序中操作硬盘上的文件和 目录。

File 类只用于表示文件(目录)的信息(名称、大小等),不能对文件的内容进行访问。

RandomAccessFile 类是 Java 提供的功能丰富的文件内容访问类,它提供了众多方法来访问文件 内容,既可以读取文件内容,也可以向文件输出数据,RandomAccessFile 支持“随机访问”方式,可 以访问文件的任意位置。

将类型 int 转换为 4 byte,或将其它数据类型(如 long -> 8 byte)的过程,即将数据转换 为 n 个 byte 序列叫序列化(数据 -> n byte)。

反序列化,将 n byte 转换为一个数据的过程(n byte -> 数据)。

Java 中的 IO 流是实现输入/输出的基础。InputStream、OutputStream 都是抽象类。InputStream抽象了应用程序读取数据的方式。OutputStream抽象类应用程序写出数据的方式。

文件输出流(FileOutputStream)的构造器,如果没有文件, 会自劢的创建文件! 输出时默认是覆盖这个文件内容,如果需要追加内容,需要使用新的构造器:boolean append = true;new FileOutputStream(file, append);

***文件流FileInputStream、缓冲流BuffedInputStream、过滤流DataInputStream:

DataInputStream 是对基本输入流(InputStream)功能的扩展,它提供基本类型的输入方法, 就 是基本类型的反序列化,DataInputStream 是过滤器,只是功能扩展,不能直接读取文件。

BuffedInputStream可以提高流的传输速度;

***字符流:InputStreamReader 完成 byte 流解析为 char 流, 按照编码解析。OutputStreamWriter 提供 char 流到 byte 流, 按照编码处理。

字符流的过滤器 BufferedReader:BufferedReader : readLine() 一次读取一行和PrintWriter: println() 一次打印一行

//使用URL读取网页内容 2 //创建一个URL实例 3 URL url =new URL("http://www.baidu.com"); 4 InputStream is = url.openStream();//通过openStream方法获取资源的字节输入流 5 InputStreamReader isr =newInputStreamReader(is,"UTF-8");//将字节输入流转换为字符输入流,如果不指定编码,中文可能会出现乱码 6 BufferedReader br =newBufferedReader(isr);//为字符输入流添加缓冲,提高读取效率 7 String data = br.readLine();//读取数据 8 while(data!=null){ 9 System.out.println(data);//输出数据10 data = br.readerLine();11 }12 br.close();13 isr.colose();14 is.close();

 

 

 

 

你可能感兴趣的文章
netty源码分析之-服务端启动核心源码分析(5)
查看>>
Storm并行度和流分组详解
查看>>
缓存数据预热详解
查看>>
热点数据降级详解(storm+nginx+lua)
查看>>
加载更多功能实现
查看>>
React相关Dom约束性和非约束性操作
查看>>
Hystrix高可用架构介绍
查看>>
netty源码分析之-SimpleChannelInboundHandler与ChannelInboundHandlerAdapter详解(6)
查看>>
netty源码分析之-开发过程中重要事项分析(7)
查看>>
Sublime Text3插件详解
查看>>
netty源码分析之-ByteBuf详解(8)
查看>>
javascript函数定义三种方式详解
查看>>
javascript中this关键字详解
查看>>
javascript关于call与apply方法详解
查看>>
netty源码分析之-ReferenceCounted详解(9)
查看>>
javascript闭包详解
查看>>
javascript类的创建与实例对象
查看>>
javascript原型详解(1)
查看>>
netty源码分析之-处理器详解(9)
查看>>
javascript原型对象存在的问题(3)
查看>>