java.io.file类用于表示文件(目录) file类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问 RandomAccessFile 是java提供的对文件内容的访问,既可以读取文件,也可以写文件 RandomAccessFile 支持随机访问文件,可以访问文件的任意位置 (1)java文件模型 在硬盘上的文件是byte(字节)存储的,是数据的集合 (2)打开文件 有两种模式"rw" RandomAccessFile raf = RandomAccessFile(file,"rw"); 文件指针,打开文件时指针在开头pointer = 0 (3)写方法 raf.write(int)--->只写一个字节(后八位),同时指针指向下一个位置,准备再次写入 (4)读方法 int b = raf.read()--->读一个字节 (5)文件读写完成之后一定要关闭 raf.close();
递归遍历文件目录
package com.xiaolu.www; import java.io.File; import java.io.IOException; public class FileUtils { public static void listDirectory(File dir) throws IOException{ if(!dir.exists()) { throw new IllegalArgumentException("目录"+dir+"不存在!"); } if(!dir.isDirectory()) { throw new IllegalArgumentException(dir+"不是目录"); } String[] filenames = dir.list(); //返回dir目录下的文件or路径名 for (String string : filenames) { System.out.println(string); } File[] files = dir.listFiles(); //返回一个抽象路径名数组 if(files != null && files.length>0) { //如果数组不为空并且数组的长度大于0 for(File file : files) { if(file.isDirectory()) listDirectory(file); //递归调用listDirectory方法 else { System.out.println(file); } } } } }