Java基础之File类的使用
导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面我们来看看Java基础之File类的使用,希望对大家有所帮助。
一、File类
java.io.File类只能用于表示文件或目录的信息名称、大小等,不能用于文件内容的访问
语法:File file = new File;
中可以填入多种参数,最常见的是填入文件或目录的路径,例如:File file = new File"e:FileTesttest.txt"
注意:如果不指定父目录,则该文件或目录直接生成在项目目录下
File类常见API介绍:
·exists:file.exists,判断文件或目录是否存在,存在返回true,不存在返回false
·mkdir/mkdirs:file.mkdir/file.mkdirs,创建目录,mkdirs用于创建多级目录
·isDirectory:file.isDirectory,判断文件是否为目录,是目录返回true,不是目录或者目录不存在返回false
·isFile:file.isFile,判断文件是否为文件,是文件返回true,不是文件或者文件不存在返回false
·:file.,删除文件或目录
二、RandomAccessFile类
Java提供的'对文件内容的访问类,既可以读文件,也可以写文件
并且,RandomAccessFile支持随机访问文件,可以访问文件的任意位置
Java文件模型:
再硬盘上的文件是以byte byte byte的形式存储,是数据的集合
打开文件有两种模式:"rw"读写方式,"r"只读方式
语法:RandomAccessFile raf = new RandomAccessFileFile, String;
中两个参数,File指要访问的文件,String指文件的打开方式"rw"或"r"
文件指针:
打开文件时会生成一个文件指针,并且再开头位置,pointer = 0
写方法:
raf.write,一次只写一个字节并且从后8位开始写。指针指向下一个位置,准备再次写入
例如我要写入一个int型整数,就需要写四次才能完全写入
写方法:
raf.read,一次读一个字节从指针位置
文件读写完成后一定要关闭,raf.close,否则可能会产生一些位置错误
示例具体写入一个int型数值:
12345int
i =
0x7fffffff
;
raf.writei >>>
24
;
//高8位
raf.writei >>>
16
;
raf.writei >>>
8
;
raf.writei;
//末8位
其实,RandomAccessFile提供了直接写入八种基本数据类型的方法。例如上面我们就可以直接写成:
1raf.writeInti;
如果要写入一个字符串,那么我们可以把它先转化成字节数组,然后再写入:
123String s =
"你好"
;
byte
[] b = s.getBytes
"utf-8"
;
raf.writeb;
读文件的时候要把指针移动到开头,RadomAccessFile提供了seek方法,raf.seek0就可以将指针移到头部
一次性读取,把文件内容都读取到字节数组中:
1234byte
[] b =
new
byte
[
int
raf.length];
raf.readb;
String s =
new
Stringb;
System.out.printlns;
最后一定不要忘记调用close方法进行关闭