JSP学习笔记(第四天续)

使用字节流读写文件


1.Java 的 I/O 流提供一条通道程序,可以使用这条通道把源中的数据送给目的地。把输
入流的指向称做源,程序从指向源的输入流中读取源中的数据。而输出流的指向是数据
要去的一个目的地,程序通过向输出流中写入数据把信息传递到目的地。

2.FileInputStream(String name);
  FileInputStream(File file);
第一个构造方法使用给定的文件名 name 创建一个 FileInputStream 对象,第二个构造
方法使用 File 对象创建 FileInputStream 对象。参数 name 和 file 指定的文件称做输入流的
源,输入流通过调用 read 方法读出源中的数据。


3.  FileOutputStream(String name);
     FileOutputStream(File file);
第一个构造方法使用给定的文件名 name 创建一个 FileOutputStream 对象。第二个构
造方法使用 File 对象创建 FileOutputStream 对象。参数 name 和 file 指定的文件称做输
出流的目的地,通过向输出流中写入数据把信息传递到目的地。创建输出流对象也能发
生 IOException 异常,必须在 try、catch 块语句中创建输出流对象


注:为了提高读写的效率,FileInputStream 流经常和 BufferedInputStream 流配合使用

       FileInputStream in=new FileInputStream( “A.txt”);

       BufferedInputStream buffer=new BufferedInputStream(in);

4. 使用字符流读写文件

所有字符输入流类都是 Reader(输入流)抽象类的子类,而所有字符输出流都是
Writer( 输出流) 抽象类的子类

 BufferedReader 和 BufferedWriter 类
为了提高读写的效率,FileReader 流经常和 BufferedReader 流配合使用;FileWriter
流经常和 BufferedWriter 流配合 使用。 BufferedReader 流还可以使用 方法 String 
readLine() 读取一行;BufferedWriter 流还可以使用 方法 void write(String s,int 
off,int length) 将字符串 s 的一部分写入文件,使用 newLine()向文件写入一个行分隔
符。


数据流

DataInputStream 类和 DataOutputStream 类创建的对象被称为数据输入流和数据输

出流,,它们允许程序按着机器无关的风格读取 Java 原始数据。


对象流

ObjectOutputStream 的指向应当是一个输出流对象,因此当准备将一个对象写入到文
件时,首先用 FileOutputStream 创建一个文件输出流,如下列代码所示:
FileOutputStream file_out=new FileOutputStream("tom.txt"); 
ObjectOutputStream object_out=new ObjectOutputStream(file_out);


同样 ObjectInputStream 的指向应当是一个输入流对象,因此当准备从文件中读入一
个对象到程序中时,首先用 FileInputStream 创建一个文件输入流,如下列代码所示:

FileInputStream file_in=new FileInputStream("tom.txt"); 
ObjectInputStream object_in=new ObjectInputStream(file_in);


RandomAccessFile 类

RandomAccessFile 流的指向既可以作为源也可以作为目的地,换句话说,当我们想对一个文件进行读写操作时,我们可以创建一个指向该文件的 RandomAccessFile 流即可,这样我们既可以从这个流中读取这个
文件的数据,也通过这个流写入数据给这个文件。
RandomAccessFile 类的两个构造方法:
RandomAccessFile(String name,String mode) :参数 name 用来确定一个文件名,
给出创建的流的源(也是流目的地),参数 mode 取“r”(只读)或“rw”(可读写),决
定创建的流对文件的访问权利。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值