函数库中的Java文件操作函数
发布时间:2023-05-21 03:49:23
在Java开发中,文件操作是必不可少的一个模块。而对于文件的读、写、删除、复制、移动等操作,我们不必手写代码实现,Java提供了相应的函数帮助我们完成这些操作。以下是一个Java文件操作函数库,总结了经常使用的文件操作函数,包括常见的操作方法和示例代码。
1. 文件的读取
1.1 以字节为单位读取文件内容
public static void readFileByByte(String fileName) {
FileInputStream fis = null;
try {
fis = new FileInputStream(fileName);
int len = 0;
while ((len = fis.read()) != -1) {
System.out.print((char)len);
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
readFileByByte("C:/example.txt");
1.2 以字符为单位读取文件内容
public static void readFileByChars(String fileName) {
FileReader reader = null;
try {
reader = new FileReader(fileName);
int len = 0;
char[] buffer = new char[1024];
while ((len = reader.read(buffer)) != -1) {
System.out.println(new String(buffer, 0, len));
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
readFileByChars("C:/example.txt");
1.3 以行为单位读取文件内容
public static void readFileByLines(String fileName) {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(fileName));
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
readFileByLines("C:/example.txt");
2. 文件的写入
2.1 以字节为单位写入文件内容
public static void writeFileByByte(String fileName, String content) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fileName);
fos.write(content.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
writeFileByByte("C:/example.txt", "hello world");
2.2 以字符为单位写入文件内容
public static void writeFileByChars(String fileName, String content) {
FileWriter writer = null;
try {
writer = new FileWriter(fileName);
writer.write(content.toCharArray());
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
writeFileByChars("C:/example.txt", "hello world");
2.3 追加内容到文件末尾
public static void appendFile(String fileName, String content) {
FileWriter writer = null;
try {
writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
appendFile("C:/example.txt", "123");
3. 文件的删除
public static void deleteFile(String fileName) {
File file = new File(fileName);
if (file.exists()) {
file.delete();
}
}
示例:
deleteFile("C:/example.txt");
4. 文件的复制
public static void copyFile(String sourceFileName, String targetFileName) {
try {
FileInputStream fis = new FileInputStream(sourceFileName);
FileOutputStream fos = new FileOutputStream(targetFileName);
int len = 0;
byte[] buffer = new byte[1024];
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
示例:
copyFile("C:/source.txt", "C:/target.txt");
5. 文件的移动
public static void moveFile(String sourceFileName, String targetFileName) {
File file = new File(sourceFileName);
file.renameTo(new File(targetFileName));
}
示例:
moveFile("C:/source.txt", "D:/target.txt");
6. 文件的属性
6.1 获取文件名
public static String getFileName(String path) {
File file = new File(path);
if (file.exists()) {
return file.getName();
}
return null;
}
示例:
getFileName("C:/example.txt");
6.2 获取文件大小
public static long getFileSize(String path) {
File file = new File(path);
if (file.exists()) {
return file.length();
}
return 0;
}
示例:
getFileSize("C:/example.txt");
6.3 获取文件最近修改时间
public static String getFileLastModifiedTime(String path) {
File file = new File(path);
if (file.exists()) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(file.lastModified());
return format.format(date);
}
return null;
}
示例:
getFileLastModifiedTime("C:/example.txt");
总结:
以上是一个基本的Java文件操作函数库,主要包括文件的读取、写入、删除、复制、移动等常用操作,各个函数也有相应的示例代码。在实际的Java开发中,对于不同的文件操作需求,我们可以根据这个函数库进行相应的调整和扩展,提高代码重用性和编码效率。
