Java文件操作函数:读写文件、文件管理等操作
在Java中进行文件操作需要用到File类,这个类提供了文件的基本操作方法,包括文件的读取、写入、复制、删除等。在使用File类前,需要先导入"java.io"包。下面对常用的文件操作函数进行介绍。
1. 文件读取操作
Java中读取文件的方式有很多,可以使用InputStream、Reader、Scanner等方式进行文件读取操作。下面以使用Scanner类的方式进行文件读取为例:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadDemo {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("file.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
上述代码中,使用Scanner类读取名为“file.txt”的文件,调用hasNextLine()方法判断是否还有下一行数据,如果有,调用nextLine()方法读取一行数据并输出。最后调用Scanner的close()方法关闭文件。
2. 文件写入操作
Java中写入文件的方式有很多,可以使用OutputStream、Writer、PrintWriter等方式进行文件写入操作。下面以使用PrintWriter类的方式进行文件写入为例:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class FileWriteDemo {
public static void main(String[] args) {
try {
PrintWriter writer = new PrintWriter(new File("file.txt"));
writer.println("Hello, World!");
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
上述代码中,使用PrintWriter类写入数据到名为“file.txt”的文件,调用println()方法将参数写入文件,最后调用PrintWriter的close()方法关闭文件。
3. 文件复制操作
Java中可以使用FileInputStream和FileOutputStream类进行文件复制。下面以使用FileInputStream类和FileOutputStream类进行文件复制为例:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyDemo {
public static void main(String[] args) {
try {
FileInputStream inputFile = new FileInputStream(new File("source.txt"));
FileOutputStream outputFile = new FileOutputStream(new File("destination.txt"));
int data;
while ((data = inputFile.read()) != -1) {
outputFile.write(data);
}
inputFile.close();
outputFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码中,使用FileInputStream读取名为“source.txt”的文件,使用FileOutputStream写入到名为“destination.txt”的文件中,循环读取文件的每个字节并写入到目标文件中。
4. 文件删除操作
Java中可以使用File类进行文件删除操作。下面以使用File类进行文件删除为例:
import java.io.File;
public class FileDeleteDemo {
public static void main(String[] args) {
File file = new File("file.txt");
if (file.exists()) {
file.delete();
System.out.println("文件删除成功!");
} else {
System.out.println("文件不存在!");
}
}
}
上述代码中,判断名为“file.txt”的文件是否存在,如果存在,则调用delete()方法进行删除,如果不存在则输出文件不存在的提示。
5. 文件管理操作
除了基本的文件读写和删除操作,Java中的File类还提供了一些文件管理操作,比如获取文件大小、创建目录、遍历目录等。下面以获取文件大小和遍历目录为例:
import java.io.File;
public class FileManagerDemo {
public static void main(String[] args) {
// 获取文件大小
File file = new File("file.txt");
if (file.exists()) {
long size = file.length();
System.out.println("文件大小为:" + size + "字节");
} else {
System.out.println("文件不存在!");
}
// 遍历目录
File dir = new File(".");
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File f : files) {
if (f.isFile()) {
System.out.println(f.getName() + ":" + f.length() + "字节");
}
}
}
}
}
上述代码中,通过使用File类的length()方法获取文件大小,使用listFiles()方法获取目录下的所有文件和子目录,使用isFile()方法判断是文件还是目录,使用getName()方法获取文件名。遍历目录是一个比较常见的操作,特别是在需要处理一个目录下的所有文件时。
总结
Java的文件操作功能非常强大,在开发中常常会用到。掌握这些基本的文件读写、复制、删除、管理操作,可以为日后的开发打下坚实的基础。
