9 输入输出及文件操作.

Slides:



Advertisements
Similar presentations
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
Advertisements

主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
LOGO File 操作. 2 主要内容  1. 操作文件和文件夹 1. 操作文件和文件夹  2. 文件的读写 2. 文件的读写  3. 文件操作应用 3. 文件操作应用.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
檔案處理.
全国二级Java考试中的几个难点 输入输出流和文件处理 Java的多线程机制 Applet类与Applet小程序 Java的异常处理.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
第五章 字符串.
第十五章 网络编程.
第二章 JAVA语言基础.
例外與檔案處理 例外處理 拋出例外 串流 Stream FileReader、FileWriter
Java Programming Spring, 2013
輸入輸出 學習目標 瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
第20讲 Java的输入与输出流(上) 1/.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
Chin-Yi Tsai Java Chin-Yi Tsai
6. Java输入输出.
第7章 输入输出处理.
第3章 流与Java中的文件操作 孙焘.
第九章 字符串.
JAVA 网络编程基础.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
Hadoop I/O By ShiChaojie.
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
Multithread 多執行緒 I/O Lecturer:楊昌樺.
JAVA 程式設計與資料結構 第六章 輸出與輸入.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
抽象类 File类 String类 StringBuffer类
Java程序设计 第18章 二进制I/O.
第九章 Java输入输出系统.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.
1、了解File类的特点和使用方法 2、掌握字节流和字符流的特点 3、能够使用字节流和字符流进行文件的读写和终端操作
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
2018/12/3 面向对象与多线程综合实验-输入输出流 教师:段鹏飞.
第七章 输入/输出 标准输入输出 流式I/O基础 文件 随机存取文件 对象输入/输出流.
第12章 JSP的檔案與電子郵件處理 12-1 伺服端的檔案處理 12-2 伺服端檔案的讀取與寫入 12-3 客戶端的檔案上傳
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章 Java数据流 [内容提要] 大部分程序都需要数据的输入和输出, 从键盘读取数据, 向文件写入数据或从文件获取数据,
第10章 输入与输出 本章要点 10.1 输入与输出基础 10.2 文件输入/输出 思考与练习10
Java语言程序设计 第九部分 输入/输出.
2019/1/13 面向对象与多线程综合实验-输入输出流 教师:段鹏飞.
第 十二 章 C# 中的文件处理.
JAVA语言程序设计 第六章 输入/输出流和文件 郑莉.
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
Java程序设计 第8章 字符串和文本I/O.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
5.4 利用tcp实现文件传输 信息工程系 向模军 Tel: QQ:
Java變數 2014/6/24.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Review 1~3.
第6章 Java输入输出流与文件操作.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
基于列存储的RDF数据管理 朱敏
第2章 Java语言基础.
只要功夫深 铁杵磨成针 —— 写在前面的话.
第四章 UNIX文件系统.
第 5 章 常用类的使用 伍孝金
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Summary
Presentation transcript:

9 输入输出及文件操作

本章内容 1 输入输出概述 流的层次/ 流的分类 2 字节流类 基本的输入输出示例 2 字节流类 基本的输入输出示例 FileInputStream和FileOutputstream BufferedInputStream和BufferedOutputStream DataInputStream和DataOutputStream 3字符流类 Reader和Writer FileReader和FileWriter BufferedReader和BufferedWriter 4 文件操作

9.1 输入输出概述 流模型建立在从某个数据源到数据池的数据传输基础上(from source to sink),也就是说把不同的输入/输出源(键盘,文件,网络连接)等抽象表示为“流”。 流编程相关API封装在java.io包中。

9.1 输入输出概述 流的层次

9.1 输入输出概述(续) 流的分类 按数据的流向分为输入流和输出流。流是单向的,流提供数据是输入流,向流中写数据是输出流。 按流的数据单位大小分字符流和字节流。 按功能不同可以分为节点流和处理流。 字节流 字符流 输 入 InputStream Reader 输 出 OutputStream Writer

9.2 字节流类(InputStream) 字节输入流InputStream是抽象类,定义了字节输入流的框架。 它的最重要的三个方法(输入流提供数据输入): int read() int read(byte[] buffer) int read(byte[] buffer, int offset, int length) 大部分子类的命名是XxxInputStream,例如FileInputStream,DataInputStream

9.2 字节流类(OutputStream) 字节输出流OutputStream是抽象类,定义了字节输出流的功能. 它的最重要的三个方法(提供数据输出): void write(int c) void write(byte[] buffer) void write(byte[] buffer, int offset, int length) 大部分子类的命名是XxxOutputStream,例如FileOutputStream,DataOutputStream

示例: TestInAndOut.java TestInputStreamAndOutputStream.java 文件复制(CopyFile1.java)。 文件复制(CopyFile2.java)

9.3 字符流类(Reader & Writer) Reader和Writer类是一切字符流的超类。它们封装的功能大致和InputStream,OutputStream一样,子类命名常为XxxReader,XxxWriter。以下为两个类的主要API方法: int read(); int read(char[] cbuf); int read(char[] cbuf, int offset, int length); void write(int c); void write(char[] cbuf); void write(char[] cbuf, int offset, int length); void write(String s); void write(String s, int offset, int length);

示例: 重写Copy1.java(CopyFileByChar ) 重写Copy2.java 读具有一定逻辑结构数据文件 。 读具有一定逻辑结构数据文件 。 数组复制(ArrayCopy.java)。

补充:节点流和处理流 节点流(node stream): 可以从/向一个特定的地方(节点)读写数据,例如磁盘或者一块内存。 处理流(processing stream): 是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能 二者的区分大致可以从构造器参数中或类名称中看出来。

I/O Stream Chaining

Java提供System类的3个静态属性对应系统的输入和输出. 这3个属性分别对应Inputstream,PrintStream的对象. 标准输入和标准输出 Java提供System类的3个静态属性对应系统的输入和输出. 这3个属性分别对应Inputstream,PrintStream的对象. System.out 提供向“标准输出”写出数据的功能 System.out为 PrintStream类型. System.in 提供从“标准输入”读入数据的功能 System.in 为InputStream类型. System.err提供向“标准错误输出”写出数据的功能 System.err为 PrintStream类型.

System.out/System.err的println/print方法 print和println方法针对多数数据类型进行了重写 (boolean, char, int, long, float, double以及char[], Object和 String). print(Object)和println(Object)方法中调用了参数的toString()方法,再将生成的字符串输出

为了使用方便,经常将System.in用各种处理流进行封装处理,如: BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); br.readLine(); 利用BufferedReader()类的方法读取终端上输入的字符数据,将其转换成int类型数据并进行计算 示例:TestBufferedReader.java

9.4 File类 File类对象提供如下功能: 表示一个文件或目录的路径名称。 可以获得文件的属性信息。 判断是否为目录或文件,是否存在等。 文件系统的遍历。 File类对象不提供文件内容的操作。 应该使用相对路径访问文件。 见例子(TestFile.java)

9.4 File类(File类的方法) java.io包中定义与数据输入、输出功能有关的类,包括提供文件操作功能的File类 f = new File("Test.java"); f = new File("E:\\ex\\","Test.java"); 在Java中,将目录也当作文件处理。File类中提供了实现目录管理功能的方法。 File path = new File("E:\\ex\\"); File f = new File(path, "Test.java");

9.4 File类(File类的方法) 获取常规文件信息操作 long lastModified() long length() 关于文件/目录名操作 String getName() String getPath() String getAbsolutePath() String getParent() boolean renameTo(File newName) File 测试操作 boolean exists() boolean canWrite() boolean canRead() boolean isFile() boolean isDirectory() boolean isAbsolute(); 获取常规文件信息操作 long lastModified() long length() boolean delete() 目录操作 boolean mkdir() String[] list() 示例:列出所有文件 ListFile2.java

再说文件输入输出流 文件输入 可使用FileReader类以字符为单位从文件中读入数据 可使用BufferedReader类的readLine方法以行为单位读入一行字符 文件输出 可使用FileWriter类以字符为单位向文件中写出数据 使用PrintWriter类的print和println方法以行为单位写出数据 例 File MyFile=new File("MyTextFile"); DataInputStream din=new DataInputStream(new FileInputStream(MyFile)); Data OutputStream dour=new DataOutputStream(new FileOutputStream (MyFile));

RandomAccessFile类 RandomAccessFile类提供以随机方式读写文件数据,也定义在java.io包中。 该类定义: public class RandomAccessFile implements DataInput, DataOutput 主要提供各种基本数据类型及字符串数据的随机读写操作。 实现了DataInput,DataOutput接口,可以使用多种方法读取不同格式的数据. 该类还提供了文件指针的定位操作(seek)。 见例子(RAFExample.java)。

总结