Java中文件操作函数的应用
发布时间:2023-05-22 18:33:04
Java语言提供了丰富的文件操作函数,能够让程序员轻松实现对文件的读写、拷贝、删除等操作。下面就说一下Java中文件操作函数的应用。
1. 文件读写
Java中文件读写的核心类为File、FileReader、FileWriter。File类可以代表文件和目录的抽象路径名,可以获取文件夹的下一级子目录、文件、文件夹、文件数组等信息;FileReader类和FileWriter类可以分别用于读取和写入文件,它们都可以指定字符编码类型,支持中文等非ASCII字符的读写。
例如:
// File读取例子
File file = new File("D:/file.txt");
try (FileInputStream fis = new FileInputStream(file)) {
byte[] buffer = new byte[1024];
int length = 0;
while ((length = fis.read(buffer)) > 0) {
System.out.println(new String(buffer, 0, length));
}
} catch (IOException e) {
e.printStackTrace();
}
// FileWriter写入例子
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter("D:/file.txt");
fileWriter.write("Hello World!
");
fileWriter.write("Welcome to Java!");
fileWriter.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2. 文件拷贝
Java中文件拷贝的核心类为File、BufferedInputStream、BufferedOutputStream。其中BufferedInputStream和BufferedOutputStream是对FileInputStream和FileOutputStream的封装类,它们可以加快文件的读写速度。
例如:
//文件拷贝例子
private static void copyFile(File srcFile, File desFile) throws IOException {
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desFile))) {
byte[] buffer = new byte[1024];
int length;
while ((length = bis.read(buffer)) > 0) {
bos.write(buffer, 0, length);
}
}
}
3. 文件删除
Java中文件删除的核心类为File,使用delete()函数可以删除文件或目录。需要注意的是,delete()函数只能删除空目录或文件,如果想要删除非空目录需要使用递归函数。
例如:
//文件删除例子
private static boolean deleteFile(File file) {
if (!file.exists()) {
return false;
}
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File subFile : files) {
deleteFile(subFile);
}
}
return file.delete();
}
以上就是Java中文件操作函数的应用,需要注意的是,在使用文件操作相关函数时需要注意文件的读写权限、文件是否存在等问题,保证程序的安全和正确运行。
