正文
Java File 常用操作回顾
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
最近项目中要用到File这个类,温故而知新,回过头来回顾下这个File类,File类主要是对磁盘目录,文件进行操作的Api,具体其实查JDK api 的File全能获取到。
下面写一些文件目录的基本操作练习一下:
1. 列出文件目录和文件,文件随机访问
package com.dcz.io;import java.io.File;
import java.io.RandomAccessFile;public class RandomAccessFileDemo {public static void main(String[] args) throws Exception {File dir = new File("E:\\迅雷下载");if(!dir.exists()){
throw new IllegalAccessException("给定的目录不存在!");
}if(!dir.isDirectory()){
throw new IllegalAccessException("给定的不是一个目录");
}File[] files = dir.listFiles();
for(File f : files){
if(f.isDirectory()){
FileUtil.listDirectory(f);
}else{
System.out.println(f);
}
}// --------------------------------------------------------------// 创建目录
File fileDir = new File("file");
if(!fileDir.exists()){
fileDir.mkdir();
}
// 创建文件
File file = new File(fileDir, "abc.txt");
if(!file.exists()){
file.createNewFile();
}RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");// 读取文件指针【文件指针为:0】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer());// 写字符(从API中可以查看到可以写很多类型的数据)
randomAccessFile.write('a');// 读取文件指【文件指针为:1】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer());// 写数字
randomAccessFile.writeInt(12);// 读取文件指【文件指针为:5】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer());// 写中文
String str = "成长";
byte[] strArray = str.getBytes("GBK");
randomAccessFile.write(strArray);
// 读取文件指【文件指针为:9】
System.out.println("文件指针位置:" + randomAccessFile.getFilePointer());// 文件指针归零
randomAccessFile.seek(0);// 创建缓冲
byte[] buffer = new byte[(int)randomAccessFile.length()];
// 读取文件内容
randomAccessFile.read(buffer);String fileContent = new String(buffer, "gbk");// 打印文件内容
System.out.println("文件内容是:" + fileContent);// 关闭
randomAccessFile.close();
}}