第七讲 IO输入与输出

File
1.File类是IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容。

2.File类定义了一些与平台无关的方法操纵文件。

3.java中的目录被当做一种特殊的文件使用,list方法可以返回目录中的所有子目录和文件名。
4.在Unix下路径分隔符(/),Dos下路径分隔符为(/),java可以正确处理UnixDos的路径分隔符。

 

RandomAccessFile 

RandomAccessFile类提供了众多的文件访问方法

RandomAccessFile类支持随机访问方式

RandomAccessFile类在随机(相对顺序而言)读写等长记录格式的文件时有很大的优势 

RandomAccessFile类仅限于操作文件,不能访问其他的IO设备,如网络,内存映像等

 

两种构造方法:

 new RandomAccessFile(f,"rw");//读写方式

 new RandomAccessFile(f,"r");//只读方式

 

FileInputStreamFIleOutputStream分别用来创建磁盘文件的输入流和输出流对象,通过他们的构造函数来指定文件路径和文件名

创建FileOutputStream实例对象时,指定的文件应当是存在和可读的。创建FileOutputStream实例对象,如果指定的文件已经存在,这个文件中的原来内容将被覆盖清除。

对同一个磁盘文件创建FileInputStream对象的两种方式:

1。FileInputStream inOne=new FileInputStream("hello.test”)

2.File f=new FIle(“hello.test”)

FileInputStream inTwo=new FileInputStream(f)

创建FileOutputStream实例对象时,可以指定还不存在的文件名,不能指定一个已被其他程序打开了的文件。

 

ReaderWriter

ReaderWriter是所有字符流类的抽象基类,简化字符串的输入输出编程,即用于读写文本数据。

PipedInputStreamPipedOutputStream

PipedInputStream类与PipedOutputStream类用于在应用程序中的创建管道通信。

PipedWriterPipedReader

使用管道流类,可以实现各个程序模块之间的松耦合通信

 

用于以IO流的方式来完成对字节数组内容的读写,来支持类似内存虚拟文件或者内存映像文件的功能

ByteArrayInputStream的两个构造函数:

ByteArrayInputStream(byte[] buf)

ByteArrayInputStream(byte[] buf,int offset,int length)

ByteArrayOutputStream的两个构造函数:

ByteArrayOutputStream()

ByteArrayOutputStream(int)

过滤流与包装类

Public DataOutputStream(OutputStream out)

BufferedInputStreamBufferedOutputtStream

两个缓冲区包装类

缓冲流为IO流增加了内存缓冲区,

允许java程序一次不只操作一个字节

有了缓冲区,在流上执行skipmarkreset方法成为可能

 

DataInputStreamDataOutputStream

三个写入字符串的方法

关闭流栈中的最上层的流对象,将会自动关闭流栈中的所有底层流对象

 

PrintStream

提供了一些列printprintln方法,可以将基本数据类型的数据格式化成字符串输出

 

ObjectInputStreamObjectOutputStream

这两个包装类,用于从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。

所读写的对象必须实现了serializable接口,对象中的transientstatic类型的成员变量不会被读取和写入。

 

Java程序与其它进程的数据通信

可以用Process类的实例对象来表示子进程,子进程的标准输入和输出不在连接到键盘和显示器,而是以管道流的形式连接到父进程的一个输出流和输入流对象上。

 

在程序中用一个对象包装另外的一个对象,这是一种被称为Decorator的设计模式

如果要设计自己的IO包装类,这个类需要继承以FilterXXX命名的类,例如,设计一对输入输出包装类,RecordInputStreamRecordOutputStream,来完成从数据库文件中读取记录和往数据中写入记录

 

ByteArrayInputStreamByteArrayOutputStream

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值