27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx

上传人:b****5 文档编号:16078663 上传时间:2022-11-18 格式:DOCX 页数:20 大小:2.42MB
下载 相关 举报
27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx_第1页
第1页 / 共20页
27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx_第2页
第2页 / 共20页
27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx_第3页
第3页 / 共20页
27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx_第4页
第4页 / 共20页
27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx

《27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。

27 Java IO操作01File类RandomAccess类Word文档下载推荐.docx

2、RandomAccessFile类

File类

在JAVA中所有的IO操作全部存放在java.io包中。

 

File是唯一一个与文件本身有关的操作。

在使用File类的构造方法处必须加入一个完整的路径。

要求一:

可以在F盘上建立一个新的文件:

demo.txt文件。

publicbooleancreateNewFile()throwsIOException

看下效果:

我们发现系统提示非法转义字符,在前面学习正则时“\”表示转义,我们需要输入两个“\\”即“f:

\\demo.txt”

需要进行try/catch处理

现在发现文件出来了哈~

如果现在再想创建同一个文件,我们会发现显示false,因为文件已经存在,不能再创建同一文件哈~

能否删除掉demo.txt的文件呢?

publicbooleandelete()

要求:

如果文件存在则删除掉文件,如果文件不存在,则创建文件。

判断文件是否存在:

publicbooleanexists()

注意点:

如果程序按以上格式写的话,则会有一个限制:

·

windows:

linux:

/

File类中提供了几分割符 

publicstaticfinalStringseparator

public 

String 

getPath()

判断给定的路径是否是一个目录:

publicbooleanisDirectory()

显示f:

\demo.txt不是目录哈~

再来看一个:

显示F:

\TL-WN310G&

TL-WN350G是目录哈~

通过这个方法可以判断给定的路径是否是目录哈~

要求可以列出指定目录下的全部文件。

返回完整路径:

publicString[]list();

返回全部的File对象:

publicFilelistFiles();

1、使用字符串数组操作

可以正常列出F:

\资料目录下的文件和目录哈~

2、使用File类对象数组

使用File类可以开出路径哈~

思考题:

不断的判断给定的路径是否是目录,如果是目录,则继续向下列出,此种题目只能使用递归操作完成。

注意:

递归操作可能会导致内存泄漏问题~~~

输入输出方法

读写过程

RandomAccessFile

假设一个文件中存放了三组数据:

AA 

80 

BB 

90 

CC 

99

RandomAccessFile类

publicRandomAccessFile(File 

file, 

mode)throws 

FileNotFoundException 

publicRandomAccessFile(Filefile, 

-->

File类的实例化对象 

Stringmode) 

模式 

throwsFileNotFoundException

模式现在主要用两种:

r:

只读 

w:

只写 

rw:

读写 

如果没有文件,写时,会自动创建。

publicfinalvoidwriteBytes(Strings)throwsIOException 

publicfinalvoidwriteInt(intv)throwsIOException

现在我们可以写入数据了,下面我们将其读出来哈~

实际上读的时候只能按byte读出,byte只能一个一个的往外读。

如果读完第一个人的数据,则此时指针在第二个人之前,如果继续往下读则会读取第二个人的数据,我们测试一下哈~~

如果我们想不读取第一个人的数据,直接读取第二个人的数据,看下面哈~~ 

publicfinalbytereadByte()throwsIOException 

publicintskipBytes(intn)throwsIOException 

publicvoidseek(longpos)throwsIOException

看下效果,直接读取第二个人数据了哈~

如果要读取第三个人数据就是跳过16个字节哈~raf1.skipBytes(16);

现在我们是一直往下读哈,我们要使指针往回读取数据呢?

虽然此类可以比较灵活的实现读写操作,可是也是有缺点的,因为必须知道的其跳的长度。

真正开发中使用的数据读取类:

InputStream、OutputStream、Reader、Writer,下季再见分晓哈~~~~

##############################################################

本文出自“王乾De技术博客”博客,谢绝转载!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1