第一章 第三节 java 的基本语法 第一章 第十三节 输入输出流. 上节回顾  掌握 java 中异常的概念  掌握 java 异常的分类  掌握 java 异常的捕获和处理.

Slides:



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

软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
檔案處理.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
第十五章 网络编程.
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
第二章 JAVA语言基础.
Java Programming Spring, 2013
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
輸入輸出 學習目標 瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
第20讲 Java的输入与输出流(上) 1/.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
6. Java输入输出.
第7章 输入输出处理.
第3章 流与Java中的文件操作 孙焘.
在PHP和MYSQL中实现完美的中文显示
第三章 控制结构.
第九章 字符串.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
API设计实例分析 通用IO API.
Java语言程序设计 清华大学出版社 第9章 网络通信.
Linux 切换、 创建和删除目录 系统管理 宁波市高校慕课联盟课程
Signutil.
Hadoop I/O By ShiChaojie.
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
Multithread 多執行緒 I/O Lecturer:楊昌樺.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
Java程序设计 第18章 二进制I/O.
第九章 Java输入输出系统.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.
1、了解File类的特点和使用方法 2、掌握字节流和字符流的特点 3、能够使用字节流和字符流进行文件的读写和终端操作
2018/12/3 面向对象与多线程综合实验-输入输出流 教师:段鹏飞.
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
第11章 Java数据流 [内容提要] 大部分程序都需要数据的输入和输出, 从键盘读取数据, 向文件写入数据或从文件获取数据,
第10章 输入与输出 本章要点 10.1 输入与输出基础 10.2 文件输入/输出 思考与练习10
Java语言程序设计 第九部分 输入/输出.
2019/1/13 面向对象与多线程综合实验-输入输出流 教师:段鹏飞.
异常及处理.
C/C++/Java 哪些值不是头等程序对象
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
5.4 利用tcp实现文件传输 信息工程系 向模军 Tel: QQ:
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
Lab17 程序设计B班
2019/5/3 JAVA Socket(UDP).
第二章 Java基本语法 讲师:复凡.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第6章 Java输入输出流与文件操作.
龍老師我不會Debug QQ.
Python 环境搭建 基于Anaconda和VSCode.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第四章 UNIX文件系统.
判斷(選擇性敘述) if if else else if 條件運算子.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
9 输入输出及文件操作.
RefWorks使用指南 归档、管理个人参考文献.
第二章 Java基本语法 讲师:复凡.
Summary
Presentation transcript:

第一章 第三节 java 的基本语法 第一章 第十三节 输入输出流

上节回顾  掌握 java 中异常的概念  掌握 java 异常的分类  掌握 java 异常的捕获和处理

本节主要内容  掌握输入 / 输出 (I/O) 流的概念  掌握 File 类  掌握流的分类

知识点一: 输入 / 输出 (I/O) 流的概念 在 java 中,对于数据的输入 / 输出操作以 “ 流 ” ( stream )的方式 进行,我们利用流来从硬盘的文件中读数据到你的程序中, 利用 流来写数据到硬盘的文件 站在内存的角度分析 : 往内存里面放信息 ---- 输入 内存里的信息往外写 ---- 输出 即:相对于程序而言,读进来的就叫输入流,写出去的就叫输 出流 注 :Java 所有的 I/O 机制都是基于数据流进行输入输出,这些数据流表示了字符或者字 节数据的流动序列。 Java 的 I/O 流提供了读写数据的标准方法。任何 Java 中表示数据 源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io 是大多数面向数据流的输入 / 输出类的主要软件包

知识点二: File File 不属于流,它只是用来屏闭不同文件系统,用来统一 描述文件的实体 BEAN , new File 时给它传入文件名称或 是路径,它就会去根据参数查找对应的文件属性然后封装 成实体 File: java.io.File, 它可以创建和删除一个文件,也可以创 建和删除一个空目录 方法: file.createNewFile(); 创建一个新文件 file.mkdir(); 在当前目录下创建一个目录文件 file.mkdirs(); 在当前目录下,如果父目录不存在, 则创建父目录,然后创建子目录 file.isFile() 和 file.isDirectory() 常用来判断一个目录 或者文件是否存在

知识点二: File file.isFile() 和 file.isDirectory() 常用来判断一个目录或者文 件是否存在 file.delete(); 删除一个文件或者目录 file.list(); 得到此抽象路径下的所有目录中的文件和目录的 名称,并将其放在一个 String 的数组中, 注 : File 不能够得到文件中的内容!!!

举例一: File file=new File(“test.txt”);// 创建一个 File 对象,此 时磁盘上还没有 test.txt 文件,默认在项目文件夹下,通过 file.createNewFile(); // 该方法用来在磁盘上创建文件,名为 test.txt 举例二: File file=new File(“ 视频 ”); file.mkdir();// 此时将会在当前目录下创建一个 “ 视频 ” 的 文件夹 举例三: File file=new File(“D:/ 视频 ”); file.mkdir();// 此时将会在 D 盘目录下创建一个 “ 视频 ” 的文 件夹 举例四: File file=new File(“D:/ 视频 / 音乐 ”); file.mkdir();// 如果你的 D 盘下没有 “ 视频 ” 文件夹,则音乐 文件夹将不能被创建,怎么办,则使用 file.mkdirs();

举例五: 在 C 盘下创建一个 “ 哈哈 ” 文件夹,如果已 经存在该文件夹,则删除它,否则创建它 File file=new File("c:/ 哈哈 "); if(file.isDirectory()){ file.delete(); }else{ file.mkdir(); } 举例六: 获取 “ 哈哈 ” 文件下的所有文件 File file=new File("c:/ 哈哈 "); String[] home=file.list(); for(int i=0;i<home.length;i++){ System.out.println(home[i]); }

知识点三:输入 / 输出流 既然 File 不能得到文件的具体内容,那么该如何得到文件的内 容呢?引入输入 / 输出流来解决 在 Java 的中,流分为两大类:字节流和字符流 (1) 字节流:有两个顶层的抽象类 : InputStream (输入流) 和 OutputStream (输出流), 由于他们都是抽象类,抽象类 不能实例化,它俩对应的子类常用的是: FileInputstream 和 FileOutputStream 举例:使用字节流实现文件内容的拷贝 ( 使用已经存在的节点 流来构造,提供带缓冲的读写,提高读写的效率 ) :

public static void main(String[] args) throws IOException { FileInputStream fis=new FileInputStream("C:/ 我的手机谷歌账 户.txt");// 获取源文件 BufferedInputStream bis=new BufferedInputStream(fis);// 进入过 滤流:即字节缓冲流,读取资源的效率高 FileOutputStream fos=new FileOutputStream("D:/ 新建 文本文 档.txt");// 放入目标文件中 BufferedOutputStream bos=new BufferedOutputStream(fos);// 进入过滤流:即字节缓冲流 byte[] b=new byte[1024];// 作为缓冲区,大小为 1K int len;// 保存读到的实际字节数 while((len=bis.read(b))!=-1){ bos.write(b, 0, len);// 第一个参数:即得到缓冲区数组,第二个:从 第几个开始,第三个:读取的长度 bos.flush();// 清空缓冲区,一定要写 }

(2) 字符流:为什么要引出字符流? 原因:字节流是由字节组成的,字符流是由字符组成的,一个字符 占两个字节。扩展:字节流是最基本的,所有的 InputStream 和 OutputStream 的子类都是, 主要用在处理二进制数据,它是按字节 来处理的 但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟 机的 encode 来处理,也就是要进行字符集的转化 我们知道,在计算机中存放的就是一堆二进制,那它是如何来表示 一个字符,数字,字母等?这就要靠编解码了,字符流就可以用来 解决字符编码的问题,使用它,可以保证解码统一,防止出现乱码。 比如字符 ’A’, 采用 ASCII 码标准码为 0x41 仍然有两个顶层的抽象类 : Reader( 字符输入流 ) 和 Writer (字符 输出流)

图例:字符输入流

图例:字符输出流

举例: // 往 rrr.txt 记事本中写入字符 BufferedWriter bufw = new BufferedWriter(new FileWriter("C:/rrr.txt")); bufw.write("abcde"); bufw.newLine(); bufw.write("fg"); bufw.flush(); bufw.close(); // 从 rrr.txt 中读取字符 BufferedReader bufr = new BufferedReader(new FileReader("C:/rrr.txt")); String line = null; while( null != ( line = bufr.readLine()) ) { System.out.println("read line:" + line); } bufr.close();