采纳java实现面向对象-File I/O,面向对象-file

运用java完成面向对象-File I/O,面向对象-file

java.io.File类用于表示文件(目录)

File类只用于表示文件(目录)的音信(名称、大小等),无法用来文书内容的访问

 

RandomAccessFile
java提供的对文本内容的会见,不仅能够读文件,也得以写文件。

RandomAccessFile援助随机拜谒文件,能够访谈文件的随便地点

 

1.java文件模型

  在硬盘上的文书是byte byte byte存款和储蓄的,是数据的聚合

2.开采文件

  有三种形式”rw”(读写)  “r”(只读)

  RandomAccessFile raf = new RandomeAccessFile(file,”rw”)

  文件指针,展开文件时指针在起首 pointer = 0;

  1. 写方法

   
raf.write(int)—>只写二个字节(后8位),同不时候指针指向下多少个职位,希图再次写入

4.读方法

   int b = raf.read()—>读二个字节

5.文书读写完结之后绝对要关张(Oracle官方表达)

 

 

java.io.File类用于表示文件(目录)

一、种类化与主导类型类别化

1)将项目int 调换来4byte或将另外数据类型转产生byte的长河叫连串化

     数据—->n byte

2)反类别化

    将n个byte 调换到二个数量的经过

    nbyte —> 数据

3)RandomAccessFile提供基本项指标读写方法,能够将主旨类型数据

   体系化到文件或然将文件内容反连串化为数据

IO流(输入流、输出流)

字节流、字符流

1.字节流

1)InputStream、OutputStream

    InputStream抽象了应用程序读取数据的形式

    OutputStream抽象了应用程序写出多少的主意

2)EOF = End   读到-1就读到结尾

3)输入流为主措施

   int  b = in.read();读取二个字节无符号填充到int低五人.-1是 EOF

   in.read(byte[] buf)

   in.read(byte[] buf,int start,int size)

4)输出流基本方法

  out.write(int b)  写出一个byte到流,b的低8位

  out.write(byte[] buf)将buf字节数组都写入到流

  out.write(byte[] buf,int start,int size)

 

5)FileInputStream—>具体落到实处了在文件上读取数据

6)FileOutputStream 实现了向文件中写出byte数据的不二等秘书技    

  

File类只用于表示文件(目录)的音信(名称、大小等),无法用于文书内容的拜望

二、字符流

1) 编码难题

2)认知文本和文件文件

java的文书(char)是公斤个人无符号整数,是字符的unicode编码(双字节编码)

文件是byte byte byte …的数量类别

文本文件是文件(char)类别根据某种编码方案(utf-8,utf-16be,gbk)系列化为byte的积累结果

3)字符流(Reader Writer)—->操作的是文件文本文件

字符的拍卖,二回拍卖一个字符

字符的最底层任然是骨干的字节连串

字符流的大旨落实

   InputStreamReader   实现byte流深入分析为char流,根据编码深入分析

   OutputStreamWriter  提供char流到byte流,根据编码管理 

  

   FileReader/FileWriter

字符流的过滤器

   BufferedReader   —->readLine 叁回读一行

   BufferedWriter/PrintWriter   —->写一行   

  

  

 

三、对象的连串化,反连串化

1)对象系列化,便是将Object转换到byte连串,反之叫对象的反体系化

2)体系化流(ObjectOutputStream),是过滤流—-writeObject

   反连串化流(ObjectInputStream)—readObject

 

3)连串化接口(Serializable)

   对象必须兑现连串化接口 ,手艺开始展览体系化,不然将出现异常

   那几个接口,未有其余方法,只是三个专门的职业

 

4) transient关键字

    private void writeObject(java.io.ObjectOutputStream s)

        throws java.io.IOException

private void readObject(java.io.ObjectInputStream s)

        throws java.io.IOException, ClassNotFoundException

       

   解析ArrayList源码中连串化和反连串化的主题材料

 

5)体系化中 子类和父类构造函数的调用难题

对子类对象举行反种类化操作是,假如有父类未有落到实处种类化接口,那么其父类的构造函数会被调用。

http://www.bkjia.com/Javabc/1228761.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1228761.htmlTechArticle使用java实现面向对象-File I/O,面向对象-file
java.io.File类用于表示文件(目录)
File类只用于表示文件(目录)的消息(名称、大小等),不…

RandomAccessFile
java提供的对文件内容的访问,不只能够读文件,也能够写文件。

RandomAccessFile辅助随机会见文件,能够访谈文件的轻便地方

 

1.java文书模型

  在硬盘上的文本是byte byte byte存款和储蓄的,是数码的汇集

2.开垦文件

  有三种格局”rw”(读写)  “r”(只读)

  RandomAccessFile raf = new RandomeAccessFile(file,”rw”)

  文件指针,张开文件时指针在开端 pointer = 0;

  1. 写方法

   
raf.write(int)—>只写三个字节(后8位),同恒生期货指数针指向下五个地点,筹划重新写入

4.读方法

   int b = raf.read()—>读八个字节

5.文本读写完结未来确定要关闭(Oracle官方表达)

 

 

一、系列化与基本项目系列化

1)将品种int 调换来4byte或将其他数据类型调换来byte的进度叫连串化

     数据—->n byte

2)反系列化

    将n个byte 调换来几个数量的历程

    nbyte —> 数据

3)RandomAccessFile提供基本项指标读写方法,能够将主导项目数据

   系列化到文件或然将文件内容反体系化为数据

IO流(输入流、输出流)

字节流、字符流

1.字节流

1)InputStream、OutputStream

    InputStream抽象了应用程序读取数据的法门

    OutputStream抽象了应用程序写出多少的格局

2)EOF = End   读到-1就读到结尾

3)输入流为主方法

   int  b = in.read();读取一个字节无符号填充到int低四人.-1是 EOF

   in.read(byte[] buf)

   in.read(byte[] buf,int start,int size)

4)输出流基本措施

  out.write(int b)  写出一个byte到流,b的低8位

  out.write(byte[] buf)将buf字节数组都写入到流

  out.write(byte[] buf,int start,int size)

 

5)FileInputStream—>具体达成了在文书上读取数据

6)FileOutputStream 落成了向文件中写出byte数据的法门    

  

二、字符流

1) 编码问题

2)认知文本和文件文件

java的文本(char)是十二个人无符号整数,是字符的unicode编码(双字节编码)

文本是byte byte byte …的数码种类

文本文件是文本(char)体系遵照某种编码方案(utf-8,utf-16be,gbk)体系化为byte的囤积结果

3)字符流(Reader Writer)—->操作的是文件文本文件

字符的拍卖,三回拍卖三个字符

字符的最底层任然是着力的字节类别

字符流的主干落到实处

   InputStreamReader   完成byte流分析为char流,根据编码分析

   OutputStreamWriter  提供char流到byte流,依据编码管理 

  

   FileReader/FileWriter

字符流的过滤器

   BufferedReader   —->readLine 二遍读一行

   BufferedWriter/PrintWriter   —->写一行   

  

  

三、对象的种类化,反类别化

1)对象系列化,正是将Object转变来byte体系,反之叫对象的反系列化

2)系列化流(ObjectOutputStream),是过滤流—-writeObject

   反连串化流(ObjectInputStream)—readObject

 

3)连串化接口(Serializable)

   对象必须贯彻系列化接口 ,本领进行种类化,不然将出现分外

   这些接口,没有别的方法,只是四个标准

 

4) transient关键字

    private void writeObject(java.io.ObjectOutputStream s)

        throws java.io.IOException

private void readObject(java.io.ObjectInputStream s)

        throws java.io.IOException, ClassNotFoundException

       

   分析ArrayList源码中连串化和反连串化的主题素材

 

5)体系化中 子类和父类构造函数的调用难点

对子类对象开始展览反系列化操作是,即便有父类没有落到实处种类化接口,那么其父类的构造函数会被调用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图