1.File
File类主要用来操纵文件或者目录,new File()时只是创建了一个代表这个路径的File对象,但是这个路径对应的目录或者文件还没有创建,可以通过mkdirs()或者creatNewFile()进行创建。
import java.io.File;
//目录的路径,相对路径,指project下面的路径
String path = "fileTest/data";
//文件的路径
String pathFile = "fileTest/data/1.data";
//创建两个操纵目录和文件的file
File fileDir = new File(path);
File fileFile = new File(pathFile);
//mkdirs()可以将路径中的目录全部创建,而mkdir()只能创建最后一个目录
if(!fileDir.exists()){
fileDir.mkdirs();
}
if(!fileFile.exists){
fileFile.creatNewFile();
}
2.RandomAccessFile
除了File类,还有RandomAccessFile(随机访问文件类),该类是java语言中功能最为丰富的文件访问类,它提供众多的文件访问方法。访问一个文件时,可以从指定位置进行读或写。
随机访问文件原理:把随机访问的文件对象看做存储在文件系统中的一个大型的byte数组,然后通过指向该byte数组的光标或索引(文件的FilePointer)在该数组任意位置读取或者写入任意数据。
对象声明:其中mode为"rw"时,表示该文件是可读可写的
RandomAccessFile randomAccessFile = new RandomAccessFile(File file,String mode);
RandomAccessFile randomAccessFile = new RandomAccessFile(String path,String mode);
import java.io.RandomAccessFile;
try {
//在创建该对象时,需要保证path表示的文件可以被创建,如果path中文件的父目录没有被创建,则会抛出异常
RandomAccessFile randomAccessFile = new RandomAccessFile(path,"rw");
long key = 12435L;
randomAccessFile.write(key.getBytes);
}catch(FileNotFoundException e){
e.printStackTrace();
}
3.FileChannel
4.ByteBuffer
5.MMap