LOGO File 操作. 2 主要内容  1. 操作文件和文件夹 1. 操作文件和文件夹  2. 文件的读写 2. 文件的读写  3. 文件操作应用 3. 文件操作应用.

Slides:



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

檔案處理.
MVC Servlet与MVC设计模式.
第五章 字符串.
教学网站设计与制作教程 第四周 主讲:黄光芳 TEL:
Oracle数据库 Oracle 子程序.
第二章 JAVA语言基础.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
第20讲 Java的输入与输出流(上) 1/.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
在PHP和MYSQL中实现完美的中文显示
第九章 字符串.
J2EE与中间件技术 ——Lab.
Hadoop I/O By ShiChaojie.
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
Multithread 多執行緒 I/O Lecturer:楊昌樺.
JAVA 程式設計與資料結構 第六章 輸出與輸入.
第二讲 搭建Java Web开发环境 主讲人:孙娜
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
抽象类 File类 String类 StringBuffer类
第九章 Java输入输出系统.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
SVN服务器的搭建(Windows) 柳峰
第12章 JSP的檔案與電子郵件處理 12-1 伺服端的檔案處理 12-2 伺服端檔案的讀取與寫入 12-3 客戶端的檔案上傳
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第11章 Java数据流 [内容提要] 大部分程序都需要数据的输入和输出, 从键盘读取数据, 向文件写入数据或从文件获取数据,
第10章 输入与输出 本章要点 10.1 输入与输出基础 10.2 文件输入/输出 思考与练习10
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
任务1-3 使用Dreamweaver创建ASP网页
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
$9 泛型基础.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
Drupal Dev 我想知道:什么时候、什么变化.
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
Web安全基础教程
3.16 枚举算法及其程序实现 ——数组的作用.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第9章 多媒体技术 掌握 Windows 画图工具的基本操作; 掌握 Windows 音频工具进行音频播放;
Python 环境搭建 基于Anaconda和VSCode.
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第四章 UNIX文件系统.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
9 输入输出及文件操作.
顺序结构程序设计 ——关于“字符串”和数值.
RefWorks使用指南 归档、管理个人参考文献.
考察点:switch\while\for System.in\Scanner char vs int
因數與倍數 應用 福科國中 李如盈老師.
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
Presentation transcript:

LOGO File 操作

2 主要内容  1. 操作文件和文件夹 1. 操作文件和文件夹  2. 文件的读写 2. 文件的读写  3. 文件操作应用 3. 文件操作应用

3 1. 操作文件和文件夹  1 、获得文件夹的物理路径  在 JSP 中,使用 request 对象的 getRealPath() 方法来获得文件夹的物理路径。  如:   本项目 JSP 文件所在路径为:   在调用 request 对象的 getRealPath() 方法时,使用斜杠 “ / ” 代表本 Web 应用地址。

4  2 、创建文件和文件夹  File 类是 Java 中用于文件操作的类,它存 在于包 java.io.File 中。 File 类提供了一些成员函 数来操作文件和文件夹。  利用 File 类的 mkdir() 方法创建文件夹。  使用 createNewFile() 方法创建文件。 String tmp_path = request.getRealPath("/")+“xxgcxy"; File fp1 = new File(tmp_path); fp1.mkdir(); File fp2 = new File(tmp_path,"a.txt"); fp2.createNewFile(); File fp3 = new File(tmp_path,"b.txt"); fp3.createNewFile(); File fp4 = new File(tmp_path,"c.txt"); fp4.createNewFile();

5  3 、列出文件夹下的文件和文件夹  File 类的 listFiles() 方法获得指定文件夹 中的所有内容,包括文件夹和文件,并将结果返回到 数组中。  String path = request.getRealPath("/"); String tmp_path = path+“xxgcxy"; File fp1 = new File(tmp_path); File filelist[]=fp1.listFiles();  使用 getName() 方法获得文件夹和文件 的名称。

6  例如:  <%  String path = request.getRealPath("/");  String tmp_path = path+“xxgcxy";  File fp1 = new File(tmp_path);  File filelist[]=fp1.listFiles();  %>   文件夹  中有以下文件夹和文件:  <%  for(int i=0; i<filelist.length; i++){  %> 

7  4 、删除文件和文件夹  使用 File 类对象的 exists() 方法判断文件和文件 夹是否存在,如果存在,就使用 delete() 方法将其 删除。  5 、取得文件大小  使用 File 类对象的 length() 方法。   <%  String path1 = request.getRealPath("/");  File fp = new File(path1,“index.jsp");  %>  文件 index.jsp 的大小为: 字节 

8  6 、判断是文件还是文件夹  使用 File 类对象的 isFile() 方法(返回 True 表 示为文件)和 isDirectory() 方法(返回 True 表示 为文件夹) 。  7 、获得文件属性  4 个 File 类对象的方法: canRead() 方法:判断文件是否可读 canWrite() 方法:判断文件是否可写 isHidden() 方法:判断文件是否为隐藏文件 lastModified() 方法:获得文件的最后修改日期

9   <%  String path1 = request.getRealPath("/");  File fp = new File(path1,“index.jsp");  %>  文件 index.jsp 的属性如下:   最后修改日期为: 

10 2. 文件的读写  如果编写过一般 Java 应用程序进行文件操作,那 么就很容易掌握本节的内容。因为 JSP 也是利用 Java 的 I/O 机制操作文件,与一般 Java 程序没有什 么大的区别。  Java 所有的 I/O 机制都是基于数据流的, 这些数据流表示了字符或者字节数据的流动序列。 Java 的 I/O 流提供了读写数据的标准方法。 Java.io 是大多数面向数据流的输入 / 输出类的主要 软件包。进行文件操作时,要将这个软件包包含进来 以供使用。

11  1 、读取文件内容  一般说来,有两种方法读取文件内容:一 种是使用 FileInputStream 类,另一种是使用 FileReader 类。 使用 FileInputStream 类 FileInputStream 类是文件输入流,它继承了 InputStream 类。通过 FileInputStream 类, 可以读取文件中的字符。 一个使用 FileInputStream 类读取文件内容的 例子的片断如下:

12  <%  byte buf[]=new byte[10000];  try  {  String path1 = request.getRealPath("/");  File fp = new File(path1,"file1.txt");  FileInputStream fistream = new FileInputStream(fp);  int bytesum = fistream.read(buf,0,10000);  String str_file = new String(buf,0,bytesum);  out.println(str_file);  fistream.close();  }  catch(IOException e) {  out.println(" 文件读错误! ");  }  %>

13 程序分析如下:  首先创建了一个 byte 类型的字符数组 buf ,并为其 分配了 个字符空间,用来存放从文件读出的 数据。我们将这个数组 buf 的存储空间称为缓冲区, 该缓冲区的容量视需要自己确定。  获得文件 file1.txt 所在的路径,生成一个代表该文 件的 File 类对象,由变量 fp 引用。  调用 FileInputStream 类的构造方法,创建一个 FileInputStream 类型的文件输入流,设置由变 量 fistream 引用。

14  调用 FileInputStream 类的 read() 方法,将文 件 file1.txt 的内容从开头读取 个字符,并 存入到缓冲区 buf 中。 read() 方法的原型为: public int read(byte[] b,int off,int len) throws IOException  创建了一个 String 类型的字符串对象 str_file ,并 将缓冲区中的数据存入到字符串中。  将 str_file 打印输出,也就是 file1.txt 文件的内容。  值得注意的是,程序使用了 try … catch 语句用 来处理异常,如果出现异常,就会输出 “ 文件读错 误! ” 提示信息。

15 使用 FileReader 类  FileReader 类也是 Java 的 I/O 机制中众 多的读写类之一,将它与 BufferedReader 类配 合起来使用,可以逐行读取文件的内容。  下面的这个程序片断就是使用这两个类来读 取 file1.txt 中的内容。 

16  <%try{  String path1 = request.getRealPath("/");  File fp = new File(path1,"file1.txt");  FileReader freader = new FileReader(fp);  BufferedReader bfdreader = new BufferedReader(freader);  String str_line = bfdreader.readLine();  while(str_line!=null) {  out.println(str_line);  out.println(" ");  str_line = bfdreader.readLine();  }  bfdreader.close();  freader.close();  }  catch(IOException e) {  out.println(" 文件读错误! ");  }%>

17  程序分析如下: ①获取文件 file1.txt 所在的路径,生成一个代表该文 件的 File 类对象,由变量 fp 引用。 ②调用 FileReader 类的构造方法,创建一个 FileReader 类型的文件读写流,设置由变量 freader 引用。  FileReader 类有多种构造方法,除了实例中使用 的构造方法:  FileReader (File file)  还有一种常用的构造方法:  FileReader (String name)

18 ③调用 BufferedReader 类的构造方法,创建一个 BufferedReader 对象。 BufferedReader 类是 用来缓存字符以更高效的读取字符串、数组和文本 行。 ④调用 readLine() 方法可以读取每一行的数据,程 序中使用了一个 while 循环,逐行读取 bfdreader 中的字符,并将结果打印出来,当需要换行时就输 出 “ ” 来换行。 ⑤关闭 bfdreader 对象和 freader 对象。

19  2 、写入内容到文件  读者在浏览网页时,经常会遇到需要用户 填写信息的地方,如用户填写对于某产品的意见等, 当用户输入信息并提交后,服务器会将信息保存起来, 保存的办法可以存入数据库,也可以存入文件。  与 FileReader 类相对应, FileWriter 类 是用于文件写的类。通过它,我们可以将内容写入到 指定的文件中。  实例,功能是:用户输入信息,提交后, 服务器将其存入指定的文件中。  采用 HTML+JSP 模式, HTML 网页用于 用户输入信息, JSP 网页接收 HTML 网页表单的信 息,并存入文件。

20  其中, Html 网页编写比较简单。  主要是 JSP 程序,它主要完成两个任务: 接收文本区域的内容,以及将其保存到文件中。  <%  String path1 = request.getRealPath("/");  File fp = new File(path1,"file2.txt");  FileWriter fwriter = new FileWriter(fp);  request.setCharacterEncoding("GBK");  String str_file = request.getParameter("text");  fwriter.write(str_file);  fwriter.close();  out.println(" 已将内容成功写入到文件! ");  %> 

21  程序分析如下: ①获得文件 file2.txt 所在的路径,生成一个代表该文 件的 File 类对象,由变量 fp 引用。如果指定路径中 没有该文件,则自动创建该文件。 ②调用 FileWriter 类的构造函数,创建一个 FileWriter 对象,设定由 fwriter 引用。 ③在使用 getParameter() 方法取得 text 的内容前, 使用了 setCharacterEncoding() 将其编码设置 为 “ GBK ” ,这是为了防止中文乱码问题。 ④取得 text 的内容并将其放置在字符串变量 str_file 中后,调用 FileWriter 类的 write() 方法将其存 入到指定文件中。

22 ⑤最后,关闭 FileWriter 对象 fwriter ,并打印输出 信息: “ 成功写入内容到文件! ” 。  写入文件例子

23  3. 文件操作应用 无论是 ASP 、 PHP 技术,还是 JSP 技术实现的 Web 应用中,都可能有计数器、留言板等功能。这 些功能都要求将某些信息永久保留起来,保留它们 有两种方法:一种是存入数据库,另一种是存入文 件。后者不涉及数据库的操作,比较简单、方便。 1 、计数器 前面,利用 JavaBean 存在的范围创建过计数器, 但那些计数器有一个致命的缺点:计数器的值不能 永久的保存下来。即使是使用 Application 范围的 JavaBean ,当由于某种原因重新启动服务器后,计 数器中原来的值就会消失,又会从 0 开始计数。

24  为了克服这个缺点,我们利用 JSP 文件操作来编 写一个实用的计数器,该计数器将值存入到文件中, 使计数器中的值不会丢失。 计数器例子

25 2 、留言板 编写一个简单实用的留言板,并将用户的留言存 入文件中。 留言前 留言后

26  一、填空题  1. 在 JSP 中,使用 request 对象的 ___________ 方法可以获得文件夹的物理路径。  2. 在 JSP 文件操作中,要用到 File 类,它存在于包 ___________ 中。 File 类有许多重要的方法,如 ___________ 、 ___________ 、 ___________ 、 ___________ 等,利用这些方 法进行文件操作。  3. 一般说来,有两种方法读取文件内容:一种是使用 ___________ 类,另一种是使用 ___________ 类。

LOGO