第十章-输入输出流-(1)PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-
4
10.2 FileInputStream类
使用文件输入流构造方法建立通往文件的输入流时,可能会出现 错误(也被称为异常)。为了把一个文件输入流对象与一个文件 关联起来,使用类似于下面所示的代码:
try { FileInputStream ins = new FileInputStream("myfile.dat");
构造方法。 (1)RandomAccessFile(String name,String mode) 参数name 用来确定一
个文件名,给出流的源,同时也是流目的地。参数mode取r(只读)或rw (可读写)决定流对文件的访问权限。 (2)RandomAccessFile(File file,String mode) 参数file 是一个File对象, 给出流的源,同时也是流目的地。参数mode取r(只读)或rw(可读写) 决定流对文件的访问权限。
read方法还有其它一些形式。这些形式能使程序把多 个字节读到一个字节数组中: int read(byte b[]); int read(byte b[], int off, int len);
-
6
10.3 FileOutputStream类
FileOutputStream提供了基本的文件写入能力。构造 方法: FileOutputStream(String name) FileOutputStream(File file)
-
1
I/O流
I/O流提供一条通道程序,可以使用这条通道把源中的字节序列送 给目的地。把输入流的指向称做源,程序从指向源的输入流中读 取源中的数据。而输出流的指向是字节要去的一个目的地(或用户), 程序通过向输出流中写入数据把信息传递到目的地。虽然I/O流经 常与磁盘文件存取有关,但是程序的源和目的地也可以是键盘、鼠 标、内存或显示器窗口。
-
9
10.6 RandomAccessFile类
RandomAccessFile类既不是输入流类InputStream类的子类,也不是输 出流类OutputStram类的子类流。RandomAccessFile类创建的流的指向 既可以作为源也可以作为目的地,换句话说,当我们想对一个文件进行 读写操作时,我们可以创建一个指向该文件的RandomAccessFile流即可, 这样我们既可以从这个流中读取文件的数据,也可以通过这个流写入数 据到文件 .
} catch (IOException e )
{ System.out.println("File read error: " +e ); //文件I/O错误 }
-
5
从输入流中读取字节
read方法给程序提供一个从输入流中读取数据的基本 方法 , read方法从输入流中顺序读取源中的单个字节 数据,该方法返回字节值(0~255之间的一个整数), 如果到达源的末尾,该方法返回-1。
一个由参数in指定的输入流,以便从后者读取数据(按着机器无关 的风格读取)。 (2)DataOutputStream(OutnputStream out) 将创建的数据输出 流指向一个由参数out指定的输出流,然后通过这个数据输出流把 Java数据类型的数据写到输出流out。
-
7
10.4 FileReader类和FileWriter类
与FileInputStream、FileOutputStream字节流相对应 的是FileReader、FileWriter字符流,他们分别是 Reader和Writer的子类,其构造方法分别是: FileReader(String filename), FileWriter (String filename)。
第10章 输入输出流
Hale Waihona Puke 10.1 File类 10.2 FileInputStream类 10.3 FileOutputStream类 10.4 FileReader类和FileWriter类 10.5 使用文件对话框打开和保存文件 10.6 RandomAccessFile类
10.7 数据流 10.8 数组流 10.9 对象流 10.10 序列化与对象克隆 10.11 文件锁FileLock 10.12 Process 类中的流 10.13 带进度条的输入流
File类的对象主要用来获取文件本身的一些信息,例 如文件所在的目录、文件的长度、文件读写权限等, 不涉及对文件的读写操作
构造方法有3个: File(String filename); File(String directoryPath,String filename); File(File f, String filename);
FileOutputStream流使用write方法把字节写入到输出 流达到目的地,write的格式如下: public void write(byte b[]) 其功能是写b.length个字节到输出流。 public void.write(byte b[],int off,int len) 其功能是从给定字节数组中起始于偏移量off处写len 个字节到输出流。
Java的I/O流库提供大量的流类(在包java.io中)。但是,所有输入 流类都是抽象类InputStream(字节输入流)或抽象类Reader(字 符输入流)的子类,而所有输出流都是抽象类OutputStream(字节 输出流)或抽象类Writer(字符输出流)的子类。
-
2
-
3
10.1 File类
由于汉字在文件中占用2个字节,如果使用字节流, 读取不当会出现乱码现象,采用字符流就可以避免这 个现象,因为,在Unicode字符中,一个汉字被看作 一个字符。
-
8
10.5 使用文件对话框打开和保存文件
使用文件对话框方便地打开和保存文件,因为 文件对话框可以使用户很方便的选择文件所在 的目录以及文件的名字。
-
10
10.7 数据流
DataInputStream 类和DataOutputStream类创建的对象被称为数 据输入流和数据输出流。这两个流是很有用的两个流,它们允许 程序按着机器无关的风格读取Java原始数据。也就是说,当我们 读取一个数值时,不必再关心这个数值应当是多少个字节。
构造方法 (1)DataInputStream(InputStream in) 将创建的数据输入流指向