- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSP的文件操作
为了进行文件读写操作,需要用适当的Java I/O类创建对象,这些对象包含从文件中读写数据的方法。 Java I/O中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示:InputStream,OutputStream,Reader,Writer。Java中其它多种多样变化的流均是由它们继承出来的。 图10-4 输入流示意图 图10-5 输出流示意图 以字节为单位进行读写的称为字节流。 字节流分为“输入流”和“输出流”。可以从中读出一系列字节的对象称为“输入流”(Input Stream);而能向其中写入一系列字节的对象则称为“输出流”(Output Stream) 这两种对象分别是由java.io包中的抽象类InputStream和OutputStream来实现的。 图10-6 InputStream类结构图 图10-7 OnputStream类结构图 Java中的字符流则用于处理字符的输入和输出 采用Unicode编码,以实现国际化 字符流也是通过两个顶层的抽象类Reader和Writer的子类来实现对Unicode字符流的处理 图10-8 Reader类结构图 图10-9 Writer类结构图 Java提供了许多进行文件输入输出的类。从读写文件类型的不同,可以将这些类分为文本I/O类与二进制I/O类对应对文本文件和二进制文件进行读写。 在文本文件中存储的数据是以字符编码方式表示的 在二进制文件中存储的数据是用二进制形式来表示的。 在读取文件中,可以使用两种方式: 字节流InputStream的方式 字符流Reader的方式 在JSP中使用的是Reader的子类java.io.FileReader,同时为了提高输入效率,可以使用带缓冲(java.io.BufferedReader)的输入流方式来读取文件资源 若需要读取的文件不存在,则会抛出FileNotFoundException。 见程序清单10-3:直接读取文本文件dt.txt到页面显示的程序:readfile1.jsp 见程序清单10-4:使用缓冲:readfile2.jsp 在写入文件中,同样可以使用字节流和字符流两种方式 如使用字符输出流Writer的子类java.io.FileWriter,或使用缓冲(java.io.BufferedWriter)的方法来提高输出效率。 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;或因为其他某些原因而无法打开它,则会抛出一个IOException。 见程序清单10-5:从dt.txt读取的文本内容写入newdt.txt writefile1.jsp 见程序清单10-6:在Web页中嵌入一个文本框,并将文本框中的内容写入到了文件dt.txt中:writefile2.jsp 前面程序每次写入文件时写入的新内容都把原来文件中的老内容覆盖了。若要实现对文件的追加可以有两种方法: 使用带有boolean参数的FileWriter构造方法, 使用随机读写文件类RandomAccessFile。 FileWriter有带有boolean参数的构造方法 1)FileWriter( File?file, boolean?append)? 2)FileWriter( String?fileName, boolean?append) 其中第二个参数boolean?append,如果为true,则将数据写入文件末尾处,而不是写入文件开始处 RandomAccessFile的实例支持对随机存取文件的读取和写入。 随机存取文件存在指向该隐含数组的光标或索引,称为“文件指针”。输入/输出操作从文件指针开始读/写字节,并随着对字节的读/写前移此文件指针。操作导致该数组扩展。 该文件指针可以通过 getFilePointer方法读取,并通过seek方法设置 RandomAccessFile的构造方法有两个: 1)RandomAccessFile( File?file, String?mode) 2)RandomAccessFile( String?name, String?mode) 第一个参数用于指定需要打开的文件,第二个参数String?mode表示打 开文件的方式,共有以下4个参数可选: 1)r:以只读方式打开,调用任何write方法都将导致抛出I OException; 2)rw :以读取和写入打开,如果该文件不存在,则尝试创 建该文件; 3)rws :以读取和写入打开,还要求对文件的内容或元数 据的每个更新都同步写入到基础存储设备,元数据指文 件的信息数据,如最后修改时间,长度等; 4) rwd :以读取和写入打开,还要求对文件内容的
您可能关注的文档
- java章培训讲义.ppt
- java程序设计第9章培训讲义.ppt
- java程序设计第6章培训讲义.ppt
- Java程序设计课件 文件与数据流培训讲义.ppt
- java程序设计面向对象基础培训讲义.ppt
- java第课培训讲义.ppt
- Java程序设计课件(高晓黎)输入输出流与文件操作培训讲义.ppt
- java第1章培训讲义.ppt
- JAVA第5章培训讲义.ppt
- JAVA类与对象培训讲义.ppt
- Unit8Readingplus课件人教版英语七年级下册.pptx
- Unit8SaveOurWorldLesson48教学设计-冀教版(2012)英语八年级下册.docx
- 西安理工大学高科学院《生物质能源利用原理与技术》2023-2024学年第二学期期末试卷.doc
- 贵州省湄潭县湄江高级中学2024-2025学年高三5月第二次月考试题(语文试题文)含解析.doc
- 苏州大学《英语读写一》2023-2024学年第一学期期末试卷.doc
- 西安理工大学高科学院《遥感图像处理与应用》2023-2024学年第二学期期末试卷.doc
- 中国科学院大学《人工智能与智能驾驶基础》2023-2024学年第二学期期末试卷.doc
- 2025届马鞍山市重点中学初三下学期期中质量抽测英语试题试卷含答案.doc
- 政务网布置项目工作任务书.docx
- Unit8GrammarTask学案牛津译林版英语八年级下册.docx
最近下载
- 2025怒江州福贡县义务教育教师专项招聘(65人)笔试参考题库附答案解析.docx VIP
- 仓储管理程序文件.doc VIP
- 关于申请国家重点研发计划“XXX”项目承担单位变更的情况说明(模板).pdf VIP
- 2025怒江州福贡县义务教育教师专项招聘(65人)考试备考试题及答案解析.docx VIP
- 马克思主义基本原理概论(复习题).doc VIP
- 2025怒江州福贡县义务教育教师专项招聘(65人)考试备考题库及答案解析.docx VIP
- 2024年度电化学储能电站行业统计数据-22页.pdf VIP
- 人教版高中英语全部单词表版可打印.pdf VIP
- 二氧化硫安全标签.doc VIP
- 机械工程材料及成形工艺(第三版)-钢的热处理.ppt VIP
文档评论(0)