版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 语言程序设计,天津理工大学 计算机与通信工程学院 主讲教师:孙世温 ,2020/8/5,第9章 输入/输出流,第 2 页,第9章 输入/输出流,2020/8/5,第9章 输入/输出流,第 3 页,主要内容,流的基本概念 java.io包中提供的流类 几种典型的I/O操作 标准 I/O File I/O 字节数组 I/O 字符串 I/O 数据流 I/O 对象 I/O,Reader Writer,InputStream OutputStream,本章学习要求: 1)理解基本原理 2)“掌握”典型应用,2020/8/5,第9章 输入/输出流,第 4 页,流(Stream),流的基础知识 一
2、个流是读写的源或目的地 例如,一个需要键盘输入的程序可以用流来做到 两种基本的流(输入流和输出流) 可以从输入流读,但不能对它写 可以向输出流写,但不能对它读 流的源和目的地可以是 键盘、显示器窗口、内存、磁盘文件等,2020/8/5,第9章 输入/输出流,第 5 页,java.io包中提供大量的流类以完成IO操作 4个abstract类 其子类具体完成I/O操作,InputStream(字节输入流) OutputStream(字节输出流),Reader (字符输入流) Writer (字符输出流),2020/8/5,第9章 输入/输出流,第 6 页,abstract类:InputStream
3、、OutputStream,InputStream类方法 三个基本的read方法 int read ( ) throws IOException; int read(byte ) throws IOException; int read(byte , int start, int len) throws IOException; 其他方法 void close ( ) throws IOException; int available ( ) void skip(long n),OutputStream类方法 三个基本的write方法 void write(int) throws IOExce
4、ption; void write(byte ) throws IOException; void write(byte , int start, int len) throws IOException; 其他方法 void close ( ) throws IOException; void flush ( ) throws IOException;,2020/8/5,第9章 输入/输出流,第 7 页,abstract类:Reader、Writer,Reader类的方法 三个基本的read方法 int read ( ) throws IOException; int read(char )
5、throws IOException; int read(char , int start, int len) throws IOException; 其他方法 void close ( ) throws IOException; int available ( ) void skip(long n),Writer类的方法 三个基本的write方法 void write(int) throws IOException; void write(char ) throws IOException; void write(char , int start, int len) throws IOExc
6、eption; 其他方法 void close ( ) throws IOException; void flush ( ) throws IOException;,2020/8/5,第9章 输入/输出流,第 8 页,InputStream及其子类,InputStream ByteArrayInputStream FileInputStream FilterInputStream BufferedInputStream DataInputStream LineNumberInputStream PushbackInputStream ObjectInputStream PipedInputSt
7、ream SequenceInputStream StringBufferInputStream,分别将字节数组(ByteArray)、文件(File)、对象(Object)等作为输入流的“源”,2020/8/5,第9章 输入/输出流,第 9 页,OutputStream及其子类,OutputStream ByteArrayOutputStream FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream PrintStream ObjectOutputStream PipedOutputStream,分
8、别将字节数组(ByteArray)、文件(File)、对象(Object)等作为输出流的“目的地”,2020/8/5,第9章 输入/输出流,第 10 页,Reader及其子类,Reader BufferedReader LineNumberReader CharArrayReader FilterReader PushbackReader InputStreamReader FileReader PipedReader StringReader,分别将字符数组(CharArray)、文件(File)等作为输入流的“源”,2020/8/5,第9章 输入/输出流,第 11 页,Writer及其子类
9、,Writer BufferedWriter CharArrayWriter FilterWriter OutputStreamWriter FileWriter PipedWriter PrintWriter StringWriter,分别将字符数组(CharArray)、文件(File)等作为输出流的“目的地”,2020/8/5,第9章 输入/输出流,第 12 页,典型I/O操作之一:标准I/O,System.in和System.out 从键盘接收输入数据 java.util.Scanner Scanner sc = new Scanner(System.in); int a = sc.n
10、extInt(); 另一种方式: BufferedRead br=new BufferedReader(new InputStreamReader(System.in); 输出数据到显示器 System.out.println(),System.in为InputStream的对象 表示键盘 System.out为PrintStream的对象 表示显示器,2020/8/5,第9章 输入/输出流,第 13 页,命令行参数和系统环境变量 Java命令java.exe可以携带参数,叫命令行参数 java main方法中的参数args可以用来接受命令行参数 public void static main
11、(String args) args0 第一个参数 args1 第二个参数,,2020/8/5,第9章 输入/输出流,第 14 页,典型I/O操作之二:文件I/O,“文件”的基本概念 File类 创建File对象 File(String filename) File(String directoryPath,String filename) File(File f, String filename) File类的方法 获取文件信息 目录相关 创建与删除文件,2020/8/5,第9章 输入/输出流,第 15 页,用于获取文件信息的File类的方法: public String getName()
12、 获取文件的名字。 public boolean canRead() 判断文件是否是可读的。 public boolean canWrite() 判断文件是否可被写入。 public boolean exits() 判断文件是否存在。 public long length() 获取文件的长度(单位是字节)。 public String getAbsolutePath() 获取文件的绝对路径。 public String getParent() 获取文件的父目录。 public boolean isFile() 判断文件是否是一个正常文件public boolean isDirectroy()
13、判断文件是否是一个目录。 public boolean isHidden() 判断文件是否是隐藏文件。 public long lastModified() 获取文件最后修改的时间。,2020/8/5,第9章 输入/输出流,第 16 页,用于创建/删除文件的File类的方法: public boolean createNewFile() public boolean delete() 例: File f=new File(c:myletter,letter.txt); f.createNewFile() f.delete();,2020/8/5,第9章 输入/输出流,第 17 页,目录相关的F
14、ile类的方法: 1)创建目录 public boolean mkdir():创建一个目录 2)列出目录中的文件 public String list() 用字符串形式返回目录下的全部文件, public File listFiles() 用File对象形式返回目录下的全部文件。 public String list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件。 public File listFiles(FilenameFilter obj) 用File对象返回目录下的指定类型所有文件。,【例9-1】,2020/8/5,第9章 输入/输出流,第 18
15、页,运行本机上的可执行文件 首先使用Runtime 类声明一个对象,如: Runtime ec; 然后使用静态getRuntime()方法创建这个对象: ec=Runtime.getRuntime(); ec可以调用exec(String command)方法打开本地机的可执行文件或执行一个操作。,【例9-2】,2020/8/5,第9章 输入/输出流,第 19 页,File IO 之 顺序读写文件 文件字节流 FileInputStream FileOutputStream 文件字符流 FileReader FileWriter 缓冲流(读取/写入文本行) BufferedReader Buf
16、feredWriter,【例9-3】,【例9-4】,【例9-5】,BufferedReader必须与Reader流对象连接 BufferedWriter必须与Writer流对象连接,2020/8/5,第9章 输入/输出流,第 20 页,File IO 之 随机读写文件 RandomAccessFile类 即能读,也能写 创建RandomAccessFile对象 RandomAccessFile(String name,String mode) RandomAccessFile(File file,String mode) 参数mode取r(只读)或rw(可读写),决定创建的流对文件的访问权利。
17、,【例9-11】,【例9-12】,2020/8/5,第9章 输入/输出流,第 21 页,典型I/O操作之三:字节数组I/O、字符串I/O,将内存中的字节数组作为流的源和目标 ByteArrayInputStream ByteArrayOutputStream 将内存中的字符串作为流的源和目标 StringReader StringWriter,【例9-7】,2020/8/5,第9章 输入/输出流,第 22 页,典型I/O操作之四:数据流I/O,DataInputStream和DataOutputStream 允许按照与机器无关的风格读取或写入数据,【例9-8】,2020/8/5,第9章 输入/输出流,第 23 页,典型I/O操作之五:对象I/O,ObjectInputStream和ObjectOutputputStream 构造方法: ObjectInputStream(InputStream in) ObjectOutputStream
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 居间租凭合同模板
- 精果林转让合同模板
- 销售谷物合同模板
- 装修商铺水电合同模板
- 养殖分红合同模板
- 米厂安全合同模板
- 检修维修合同模板
- 软件维护付款合同模板
- 占用耕地建房合同模板
- 餐厅承包配送合同模板
- 2024年山西省中考地理试题含解析
- 火灾逃生自救消防安全知识培训课件
- 合作伙伴合同协议书范文5份
- 2024-2030年中国装备故障预测和健康管理(PHM)行业发展现状与前景预测分析报告
- 2024年全国职业院校技能大赛中职(中式烹饪赛项)考试题库-下(多选、判断题)
- 2024新教科版一年级上册第二单元我们自己第1课我们的身体教学课件含微课视频
- 2022年中级注册安全工程师考试《安全生产专业实务(建筑施工安全)》真题及详解【完整版】
- 二手纯电动乘用车鉴定评估作业表(示范文本)
- 2024年五年级英语上册 Project 1教案 牛津译林版
- 2024年全国统一考试高考新课标Ⅱ卷数学试题(真题+答案)
- 美的简单高效的管理逻辑
评论
0/150
提交评论