首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Oracle培训(十四)——Core Java第十四章知识点小结——文件与I/O流

2012-09-23 
Oracle培训(十四)——Core Java第十四章知识点总结——文件与I/O流Core Java第十四章知识点总结——文件与I/O流

Oracle培训(十四)——Core Java第十四章知识点总结——文件与I/O流

Core Java第十四章知识点总结——文件与I/O流


知识点预览


File类的使用

IO的分类

字节流

字符流

对象序列化


File类

 

1.   java.io.File类

代表硬盘上的一个文件或者文件夹

文件、文件夹

代表:只是开辟内存空间,有File对象不一定有对应的文件或者文件夹


2.  java中文件路径的表示形式

a) windows中表示 c:\suns.txt

b) java中表示 c:\\suns.txt c:/sun.txt


3.  File类的构造方法

构造方法 File类没有无参构造方法

File(String pathname)

File(String parent,Stirngchild)

//parent:父目录

//child:

File(File parent,String child)


4. File类的常用方法

a)        createNewFile() 创建文件,文件不存在才创建

b)       mkdir/mkdirs() 创建目录 mkdir创建一级目录 mkdirs 创建多级目录

c)        delete() 执行完后立即删除

d)       deleteOnExit() 当程序退出时才删除

e)        exists() 当前文件或者目录是否存在 返回值 boolean

f)        isFile() 返回值 boolean

g)       isDirectory返回值 boolean

h)       getPath() 文件路径

i)         getName() 文件名

j)         getParent() 父目录

k)       getAbsolutePath() 绝对路径

l)         list() 1级目录才可调用(子目录、文件)子目录有子目录,不能获得

 

I/O

 

1.I/O流概念

Input/Output针对于JVM内存


2. 流的概念

用来传输数据的对象 生活中比如电线、水管


3.  I/O流的分类

按流向(针对Java虚拟机)输入流输出流

按数据单位 字节流(可传输任意文件)字符流(处理文本文件)

按功能 节点流(真正完成传输)过滤流(用于增加节点流的功能)


字节流

1.字节流的概念

传输的数据单位是字节,也意味着字节流能够处理任何一种文件


2. 字节流的组成

InputStream OutputStream (所有字节流的父类 抽象类不能创建对象)


 Oracle培训(十四)——Core Java第十四章知识点小结——文件与I/O流


 

3.FileInputStream字节输入流

a) FileInputStream构造方法

                       i.             FileInputStream(String filename)

                     ii.             FileInputStream(File file)

b)read方法

                       i.             int read();//读取字节

                     ii.             int read(byte[] bs);//读取后填充数组 返回实际读取数

                   iii.             int read(byte[] bs,int off,intlen);

 


5.  FileReader

FileReader(StringfuleName)

close()

int read(char[]cbuf)


6.  FileWriter

FileWriter(String fuleName)

close()

write(Stringvalue)

缺点:FileReader、FielWriter不能更改编码方式


7.  InputStreamReader和OutputStreamWriter

a) 特点

可以把一个字节楼转换成一个字符流(桥转换)

在转换时可以执行编码方式

b) InputStreamReader

InputStreamReader(InputStreamis)

InputStreamReader(InputStreamis,String charSet)

int read(char[]cbuf)

 

 

package chp14.ex09;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;//实现序列化接口class Student implements Serializable{String name;int age;public Student(String name, int age) {this.name = name;this.age = age;}}/** *  * @Author: Wentasy * @FullName: TestSerializable.java * @Description: ObjectInputStream ObjectOutputStream 读写对象 * @Create Date: 2012-8-18 */public class TestSerializable {public static void main(String[] args) throws Exception {Student stu1 = new Student("tom", 18);Student stu2 = new Student("jerry", 18);FileOutputStream fout = new FileOutputStream("stu.dat");ObjectOutputStream oout = new ObjectOutputStream(fout);oout.writeObject(stu1);oout.writeObject(stu2);oout.close();FileInputStream fin = new FileInputStream("stu.dat");ObjectInputStream oin = new ObjectInputStream(fin);Student s1 = (Student) oin.readObject();Student s2 = (Student) oin.readObject();oin.close();System.out.println(s1.name + " " + s1.age);System.out.println(s2.name + " " + s2.age);}}


 

 

热点排行