



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本文件操作:File:1) 创建File对象不会在磁盘上产生一个路径或文件,创建一个File对象只是创建了一个表示相应的文件或路径的File类的实例。 File file = new File(“Test.java”);File file = new File(“src/com/tarena/day16”);File file = new File(new File(test), test.txt);2) 常用方法:l 文件名相关:String getName():返回File对象所表示的文件名或目录String getPath():返回此File对象所对应的路径String getAbsolutePath():返回此File对象所对应的绝对路径名String getParent(): 返回此File 对象对应目录的父目录路径名boolean renameTo(File newName):重命名此File文件,命名成功返回 ture,失败falsel 文件检测:boolean exists():判断文件对象的文件或目录是否存在boolean canWrite():判断目录或文件是否可写boolean canRead():判断目录或文件是否可读boolean isFile():判断File对象指向的是否为一个文件boolean isDirectory():判断File对象指向的是否为一个目录boolean isAbsolute():判断文件对象的路径是否是绝对路径(判断绝对路径:Linux/UNIX - 以”/”开头 Windows - 以盘符开头或路径以”分割 )l 获取常规文件信息:long lastModified():返回File对象所对应文件的最后一次被修改时间long length():返回文件的长度l 文件操作:boolean creatNewFile():自动创建一个File对象中指定文件名的空的文件,只有在指定文件名不存在的时候才能成功boolean delete():删除File对象对应的文件或目录l 目录操作:boolean mkdir():试图新建一个File对象所定义的一个路径,此时File 对象必须是目录对象 eg: File dir = new File(test); if(!dir.exists()dir.mkdir();String list():只对File对象为目录时有效,返回这个目录下的所有文 件以及子目录。File listFiles():返回File对象表示的路径下的所有文件对象数组。 eg: - File files = dir.listFiles(); - File Files = dir.listFiles(new FileFilter() public boolean accept(File pathname) return pathname.getName().endsWith(.java); );3) 文件过滤器:FileFilter() FileNameFilter() I/O流1. 处理字节流的两个基础类是:InputStream OutputStrean处理字符流的两个基础类是:Reader Writer2. 流的分类:1) 输入流(InputStream) 只能从中读取数据,不能向其写入数据 输出流(OutputStream)只能向其写入数据,不能从中读取数据2) 字节流与节点流可以从/向一个特定的IO设备读/写数据的流,成为节点流(低级流)InputStream/Reader - read() 读取单一字节或者字节数组OutputStream/Writer - write() 写入单一字节或者字节数组(实际应用更多是用这两个方法给其他流类提供数据,即通过多个流对象的连接和封装使用实际的流)3. InputStream 和 OutputStream(抽象类,以字节为单位进行读写)1) InputStream介绍: eg - InputStream in = new FileInputStream(file.txt); byte buf = new bytein.available(); int count = in.read(buf); in.close(); int read()读取一个字节,并返回读取的字节数 int read(byte buffer)将数据读入一个字节数组,同时返回读取的字节数 int read(byte buffer,int offset,int length)将数据读入一个字符 数组,放到数组的offset指定的位置开始,并用length指定读取的最大字节数 void close():用完流以后一定要关闭 int available():用于返回在不发生阻塞的情况下,该流可以读取的字节数2) OutputStream 介绍:write(int c):写入一个字节到流中write(byte buffer):将字节数组中的数据写入到流中 int write(byte buffer,int offset,int length)将字节数组中从 offset开始的length个字节写入流中。void close():关闭输出流void flush():将缓冲区的字节立即发送到流中,同时清空缓冲区4. FileInputStream 和 FileOutputStream*注:1)生成FileInputStream和FileOutputStream对象时,如果找不到指定文件,将会产生FileNotFoundException异常,必须捕获并声明抛出2)当读的时候(InputStream/Reader)时,文件必须存在,否则报错3)当写的时候(OutputStream/Writer)时,文件可以直接新建5. FilterInputStream 和 FilterOutputStream(抽象类,高级字节流)BufferedInputStream和 BufferedOutputStream(带缓冲的过滤流, 每次缓冲 8k)DataInputStream和DataOutputStream(读写基本数据类型和String对象) eg: - DataInputStream dis = new DataInputStream(new BufferredInputStream(new FileInputStream(“file.txt”) *注:(一般将低级InputStream类写在最里层,如ByteArrayInputStream,FileInputStream,而将高级InputStream类写在外层,如DataInputStream,、BufferedInputStream)6. Reader 和 Write (以字符为单位进行读写)方法与InputStream/OutputStream类似,这里仅举Reader例子低级Reader类:CharArrayReader/StringReader/FileReader等高级Reader类:BufferReader/InputStreamReader等 eg: - BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(file),”GBK”);InputStreamReader:字节流与字符流之间的桥梁,读出字节并且将其按照指定的编码方式转换成字符。7. 编码方式的分类:ASCII(数字、英文):1个字符占一个字节(所有的编码集都兼容ASCII)ISO8859-1(欧洲,拉丁语派):1个字符占一个字节GB-2312/GBK:1 个字符占两个字节。GB代表国家标准。GBK是在GB2312上增加的一类新的编码方式,也是现在最常用的汉字编码方式。Unicode: 1 个字符占两个字节(网络传输速度慢)UTF-8:变长字节,对于英文一个字节,对于汉字两个或三个字节。8. RandomAccessFile(读写随即访问文件)使用FileWriter向一个字符文件中写入数据时,新写入内容覆盖源文件内容。而用RandomAccessFile类可以避免,可以在文件任何位置查找或者插入数据9. wirter/reader和inputstream/outputstream区别a 从本质上讲,wirter/reader和inputstream/outputstream的最大区别在于encode(编码)和decode(解码). b inputstream/outputstream直接对byte进行操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 龙舟赛参赛人员合同6篇
- 有关技术开发(合作)合同2篇
- 加工水泥杆合同范本
- 转让协议转租合同范本
- 铺面联营协议合同范本
- 管道清洗报价合同范本
- 场地机器租赁合同范本2篇
- 微商操盘合同范本
- 债权抵押转让合同范本
- 对口学校租赁合同范本
- 2025年医疗质量管理质控培训考核试题(含答案)
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- ISO28000:2022供应链安全管理体系
- 深圳市失业人员停止领取失业保险待遇申请表样表
- JIS G4305-2021 冷轧不锈钢板材、薄板材和带材
- 《诗经》英文简介PPT
- 四年级上册音乐全册西师版教案
- 圆锥滚子轴承产品设计
- SMT元器件焊接强推力测试标准doc
- ELA基础介绍PPT课件
- SAP Analytics Cloud分析云解决方案
评论
0/150
提交评论