Java文件操作类的使用方法及常用API介绍?
Java文件操作类指的是用于在Java程序中对文件进行操作的类。Java提供了丰富的文件操作类和API,使我们能够方便地读取、写入、创建、删除和管理文件。下面就来简单介绍一下Java文件操作类的使用方法及常用API。
一、文件读写操作
Java文件读写操作通常用FileReader、FileWriter或者BufferedReader、BufferedWriter类。其中:
1、FileReader类用于读取文件中的字符:
FileReader reader = new FileReader("filename.txt");
int c = reader.read();
while(c != -1) {
System.out.println((char)c);
c = reader.read();
}
reader.close();
2、FileWriter类用于向文件中写入字符:
FileWriter writer = new FileWriter("filename.txt");
writer.write("Hello, world!");
writer.close();
3、BufferedReader和BufferedWriter类用于读写操作时缓存数据,效率更高:
BufferedReader reader = new BufferedReader(new FileReader("filename.txt"));
String line = reader.readLine();
while(line != null) {
System.out.println(line);
line = reader.readLine();
}
reader.close();
BufferedWriter writer = new BufferedWriter(new FileWriter("filename.txt"));
writer.write("Hello, world!
");
writer.close();
二、文件创建操作
Java文件创建操作可用File类的createNewFile()方法完成,如下:
File file = new File("filename.txt");
if(file.createNewFile()) {
System.out.println("File created!");
}
三、文件删除操作
Java文件删除操作可用File类的delete()方法完成,如下:
File file = new File("filename.txt");
if(file.delete()) {
System.out.println("File deleted!");
}
注:Java文件删除操作必须要求文件没有被其他程序使用,否则无法删除。
四、文件重命名操作
Java文件重命名操作可用File类的renameTo()方法完成,如下:
File file = new File("oldfilename.txt");
if(file.renameTo(new File("newfilename.txt"))) {
System.out.println("File renamed!");
}
注:Java文件重命名操作要求new File()对象必须在同一目录中。
五、文件属性操作
Java文件属性操作可用File类的各种方法完成,如下:
获取文件名:file.getName()
获取文件路径:file.getPath()
获取文件绝对路径:file.getAbsolutePath()
获取文件所在目录:file.getParent()
获取文件大小:file.length()
判断文件是否存在:file.exists()
判断文件是否可读:file.canRead()
判断文件是否可写:file.canWrite()
判断文件是否可执行:file.canExecute()
判断文件是否为目录:file.isDirectory()
判断文件是否为文件:file.isFile()
获取最后修改时间:file.lastModified()
六、递归遍历目录
Java递归遍历目录可用File类实现,如下:
public void list(File file) {
if(file.isDirectory()) {
File[] files = file.listFiles();
if(files != null) {
for(File f : files) {
list(f);
}
}
}
else {
System.out.println(file.getAbsolutePath());
}
}
以上就是Java文件操作类的使用方法及常用API介绍。如果需要进行更复杂的文件操作,可以结合使用Java IO和NIO库进行开发。
