版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计实用教程(第3版),第9章 输入/输出流和文件操作,9.1 文件和流的概念 9.2 字节输入/输出流类 9.3 字符输入/输出流类 9.4 文件操作,Java程序设计实用教程(第3版),9.1 文件和流的概念,9.1.1 操作系统中的文件和目录概念 9.1.2 流的概念 9.1.3 Java的输入/输出流与文件操作概述,Java程序设计实用教程(第3版),9.1.1 操作系统中的文件和目录概念,文件与文件系统 目录结构与文件检索 文件的逻辑结构 流式文件 记录式文件 文件的存取方法 顺序存取 随机存取 文件的使用 操作接口 应用程序接口,Java程序设计实用教程(第3版),9.
2、1.2 流的概念,流的定义和作用 流的定义、方向性和读/写操作 流采用缓冲区技术 流的作用 流的存在,Java程序设计实用教程(第3版),9.1.3 Java的输入/输出流与文件操作概述,流类 InputStream抽象字节输入流类 OuputStream抽象字节输出流类 Reader抽象字符输入流类 Writer抽象字符输出流类 文件操作类 File文件类 RandomAccessFile随机存取文件类,Java程序设计实用教程(第3版),9.2 字节输入/输出流类,9.2.1 抽象字节流 9.2.2 Java标准输入/输出 9.2.3 文件字节流 9.2.4 数据字节流 9.2.5 对象字
3、节流 9.2.6 管道字节流,Java程序设计实用教程(第3版),9.2.1 抽象字节流,InputStream类及其子类 public abstract class InputStream extends Object implements Closeable public abstract int read() throws IOException; /返回读取的一个字节,抽象方法 public int read(byte b) throws IOException /从输入流中读取若干字节到指定缓冲区,返回实际读取的字节数 public void close() throws IOExc
4、eption /关闭输入流,空方法 ,Java程序设计实用教程(第3版),InputStream类的子类,Java程序设计实用教程(第3版),2. OutputStream类及其子类,public abstract class OutputStream extends Object implements Closeable, Flushable public abstract void write(int b) throws IOException; /写入一个字节,抽象方法 public void write(byte b) throws IOException /将缓冲区中的若干字节写入输
5、出流 public void flush() throws IOException /立即传输 public void close() throws IOException /关闭输出流,空方法 ,Java程序设计实用教程(第3版),OutputStream类的子类,Java程序设计实用教程(第3版),9.2.2 Java标准输入/输出,标准输入/输出常量 public final class System extends Object public final static InputStream in /标准输入常量 public final static PrintStream out
6、/标准输出常量 public final static PrintStream err /标准错误输出常量 ,Java程序设计实用教程(第3版),2. PrintStream类,public class PrintStream extends FilterOutputStream public void print(boolean b) public void print(char c) public void print(long l) public void print(int i) public void print(float f) public void print(double d
7、) public void print(String s) public void print(Object obj) public void println() ,Java程序设计实用教程(第3版),【例9.1】 标准输入/输出。,Java程序设计实用教程(第3版),9.2.3 文件字节流,FileInputSream类 public class FileInputStream extends InputStream public FileInputStream(String name) throws FileNotFoundException public FileInputStream(
8、File file) throws FileNotFoundException ,Java程序设计实用教程(第3版),2. FileOutputStream类,public class FileOutputStream extends OutputStream public FileOutputStream(String name) throws FileNotFoundException public FileOutputStream(File file) throws FileNotFoundException public FileOutputStream(String name, bo
9、olean append) throws FileNotFoundException ,Java程序设计实用教程(第3版),【例9.2】 使用字节流读写文件。,文件输入操作 文件输出操作 文件复制操作,Java程序设计实用教程(第3版),9.2.4 数据字节流,public class DataInputStream extends FilterInputStream implements DataInput public DataInputStream(InputStream in) /构造方法 public final short readShort() throws IOExceptio
10、n public final byte readByte() throws IOException public final int readInt() throws IOException /读取整型 public final long readLong() throws IOException public final float readFloat() throws IOException public final double readDouble() throws IOException public final char readChar() throws IOException
11、/读取字符 public final boolean readBoolean() throws IOException ,Java程序设计实用教程(第3版),2. DataOutputStream类,public class DataOutputStream extends FilterOutputStream implements DataOutput public DataOutputStream(OutputStream out) /构造方法 public final void writeByte(int v) throws IOException public final void w
12、riteShort(int v) throws IOException public final void writeInt(int v) throws IOException /写入一个整型 public final void writeLong(long v) throws IOException public final void writeFloat(float v) throws IOException public final void writeDouble(double v) throws IOException public final void writeChar(int
13、v) throws IOException /写入一个字符 public final void writeBoolean(boolean v) throws IOException public final void writeChars(String s) throws IOException /写入一个字符串 public final int size() /返回实际写入的字节数 ,Java程序设计实用教程(第3版),【例9.3】 使用数据流读写整数文件。,数据写入文件的思路同标准输出 捕获异常控制输入结束,Java程序设计实用教程(第3版),9.2.5 对象字节流,ObjectInput
14、Stream类 public class ObjectInputStream extends InputStream implements ObjectInput, ObjectStreamConstants public ObjectInputStream(InputStream in) throws IOException /构造方法 public final Object readObject() throws IOException, ClassNotFoundException /读取一个对象 ,Java程序设计实用教程(第3版),2. ObjectOutputStream类,pub
15、lic class ObjectOutputStream extends OutputStream implements ObjectOutput, ObjectStreamConstants public ObjectOutputStream(OutputStream out) throws IOException /构造方法 public final void writeObject(Object obj) throws IOException /写入一个对象 【例9.4】 使用对象流读写记录式文件。,Java程序设计实用教程(第3版),图9.7 各种输入/输出流及其读/写方法,Java程
16、序设计实用教程(第3版),9.2.6 管道字节流,PipedInputStream类 PipedOutputStream类 PipedInputStream in = new PipedInputStream(); try PipedOutputStream out= new PipedOutputStream(in); catch(IOException ioe) ,Java程序设计实用教程(第3版),【例9.5】 使用管道流实现的发牌程序。,图9.9 发牌程序中多个线程对象间的管道流,Java程序设计实用教程(第3版),9.3 字符输入/输出流类,9.3.1 抽象字符流 9.3.2 文件字
17、符流 9.3.3 缓冲字符流,Java程序设计实用教程(第3版),9.3.1 抽象字符流,Reader类 public abstract class Reader extends Object implements Readable, Closeable public int read() throws IOException public int read(char cbuf) throws IOException abstract public int read(char cbuf, int off, int len) throws IOException; abstract public
18、 void close() throws IOException; ,Java程序设计实用教程(第3版),2. Writer类,public abstract class Writer implements Appendable, Closeable, Flushable public void write(int c) throws IOException public void write(char cbuf) throws IOException public void write(String str) throws IOException /将字符串写入输出流 public Writ
19、er append(CharSequence csq) throws IOException public Writer append(char c) throws IOException public abstract void flush() throws IOException /将缓冲区内容写入输出流 public abstract void close() throws IOException ,Java程序设计实用教程(第3版),9.3.2 文件字符流,FileReader类 public class FileReader extends InputStreamReader pub
20、lic FileReader(String fileName) throws FileNotFoundException /构造方法 public FileReader(File file) throws FileNotFoundException ,Java程序设计实用教程(第3版),2. FileWriter类,public class FileWriter extends OutputStreamWriter public FileWriter(String fileName) throws IOException /构造方法 public FileWriter(String fileN
21、ame, boolean append) throws IOException public FileWriter(File file) throws IOException public FileWriter(File file, boolean append) throws IOException ,Java程序设计实用教程(第3版),9.3.3 缓冲字符流,BufferedReader类 public class BufferedReader extends Reader public BufferedReader(Reader in) /构造方法 public String readL
22、ine() throws IOException /读取一行字符串,输入流结束时返回null BufferedWriter类 public class BufferedWriter extends Writer public BufferedWriter(Writer out) /构造方法 public BufferedWriter(Writer out, int sz) /sz指定字符缓冲区长度 public void newLine() throws IOException /写入一个换行符 【例9.6】 将Fibonacci序列值写入文本文件。,Java程序设计实用教程(第3版),9.4
23、 文件操作,9.4.1 文件操作类 9.4.2 文件过滤器接口 9.4.3 文件对话框组件 9.4.4 随机存取文件类,Java程序设计实用教程(第3版),9.4.1 文件操作类,File类的构造方法 public class File extends Object implements Serializable, Comparable public File(String pathname) public File(String parent, String child) public File(File parent, String child) 例如, File file = new F
24、ile(myfile.txt); File dir = new File(.,); /创建一个目录文件对象,表示当前目录 File dir = new File(C:,);,Java程序设计实用教程(第3版),2. File类提供的方法,访问文件对象方法 public String getName() /返回文件名,不包含路径名 public String getPath() /返回相对路径名,包含文件名 public String getAbsolutePath() /返回绝对路径名,包含文件名 public String getParent() /返回父文件对象的路径名 public Fi
25、le getParentFile() /返回父文件对象 获得或设置文件属性 文件操作方法 目录操作方法 【例9.7】当前目录及子目录的文件列表 。,Java程序设计实用教程(第3版),9.4.2 文件过滤器接口,FileFilter和FilenameFilter接口 public interface FileFilter public boolean accept(File pathname) public interface FilenameFilter public boolean accept(File dir, String name) 获得文件列表时使用过滤器 public Stri
26、ng list(FilenameFilter filter) /过滤显示文件清单 public File listFiles(FilenameFilter filter) public File listFiles(FileFilter filter) 【例9.8】 带过滤器的文件名列表。,Java程序设计实用教程(第3版),9.4.3 文件对话框组件,public class JFileChooser extends JComponent implements Accessible public static final int APPROVE_OPTION = 0; /单击“打开”或“保存
27、”按钮 public static final int CANCEL_OPTION = 1; /单击“撤消”按钮 public static final int ERROR_OPTION = -1; /出错 public JFileChooser() public JFileChooser(String currentDirectoryPath) /初始路径 public JFileChooser(File currentDirectory) public void setFileFilter(FileFilter filter) /设置文件过滤器 public int showOpenDia
28、log(Component parent) throws HeadlessException /显示打开文件对话框 public int showSaveDialog(Component parent) throws HeadlessException /显示保存文件对话框 public File getSelectedFile() /返回选中文件 ,Java程序设计实用教程(第3版),2. JFileChooser的文件过滤器,public abstract class FileFilter extends Object public abstract boolean accept(File f) /过滤操作,f指定待过滤文件 public abstract St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理服务:提升患者体验的秘诀
- 护理研究创新性评估的评估机制创新
- 西式厨师证初级实务题库及答案
- 工资转帐协议书
- 委托投资款协议书
- 2026年人教版科学三年级下册期中测试卷(含答案)
- 重力势能课件2025-2026学年高一下学期物理人教版必修第二册
- 2022年部编版八年级语文上册期中考试及答案【各版本】
- 直线与直线平行课件2025-2026学年高一下学期数学人教A版必修第二册
- 2026年小区雨水管网改造承包合同协议
- 2026版公司安全生产管理制度及文件汇编
- 2026年中国铁路各局集团招聘试题及答案解析
- 湖北省2026届高三(4月)调研模拟考试 英语答案
- 工厂质量管理奖惩制度模板
- 含蜡原油管道蜡沉积与清管
- 【超星尔雅学习通】商法的思维网课章节答案
- 磁悬浮离心冷水机组、螺杆式水冷冷水机组、离心式水冷冷机组及多联机组方案比较
- JJF 1319-2011傅立叶变换红外光谱仪校准规范
- 高数下册试题及答案
- 蓄热步进式加热炉设计说明书
- 质量保证体系架构图
评论
0/150
提交评论