重命名文件-旧file.renameTo(新file)
import java.io.File;
/**
* 文件重命名-ffmpeg合并文件时不允许覆盖原文件,所以合并时,修改源文件名,合并后文件名为源文件名
*
* @param fileName
* @return
*/
public String RenameFileExample(String fileName) {
// 获取原始文件的父路径和文件名(不带扩展名)
File originalFile = new File(fileName);
String parentPath = originalFile.getParent();
// 分割文件名和扩展名
String fileNameWithoutExt = originalFile.getName().split("\\.")[0];
// 获取文件扩展名
String fileExtension = originalFile.getName().substring(originalFile.getName().lastIndexOf("."));
// 新文件名,添加"merge1_"前缀
String newFileName = "merge_" + fileNameWithoutExt + fileExtension;
// 完整的新文件路径
String newFilePath = parentPath + File.separator + newFileName;
File newFile = new File(newFilePath);
// 尝试重命名文件
if (originalFile.renameTo(newFile)) {
System.out.println("文件重命名成功,新文件路径: " + newFilePath);
} else {
System.out.println("文件重命名失败,请检查新文件名是否已存在或是否有权限操作");
}
return newFilePath;
}
获取文件父路径
例子“E/Monitor/video_20240617_11.mp4”
File originalFile = new File(fileName);
//获取父路径-- --结果“E/Monitor”
String parentPath = originalFile.getParent();
获取文件名
例子“E/Monitor/video_20240617_11.mp4”
File originalFile = new File(fileName);
//获取文件名----结果“video_20240617_11”
String fileNameWithoutExt = originalFile.getName().split("\\.")[0];
获取文件扩展名
例子“E/Monitor/video_20240617_11.mp4”
File originalFile = new File(fileName);
//获取文件扩展名----结果“.mp4”
String fileExtension = originalFile.getName().substring(originalFile.getName().lastIndexOf("."));
创建文件- Files.createFile(filePath);
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;
public class FileCreator {
public static void main(String[] args) {
String directoryPath = "E:/Monitor/monitor1/";
String fileName = "test.mp4";
Path filePath = Paths.get(directoryPath, fileName);
try {
// 检查目录是否存在,如果不存在则创建
Path dirPath = Paths.get(directoryPath);
if (!Files.exists(dirPath)) {
Files.createDirectories(dirPath);
System.out.println("目录创建成功: " + directoryPath);
}
// 创建文件
if (Files.notExists(filePath)) {
Files.createFile(filePath);
System.out.println("文件创建成功: " + filePath);
} else {
System.out.println("文件已存在: " + filePath);
}
} catch (IOException e) {
System.err.println("创建文件或目录时发生错误: " + e.getMessage());
}
}
}
文件是否存在-file.exists()
删除文件-file.delete()
import java.io.File;
/**
* 删除文件
*
* @param filePath
*/
public void deleteFileExample(String filePath) {
// 文件路径
File file = new File(filePath);
// 检查文件是否存在
if (file.exists()) {
// 尝试删除文件
if (file.delete()) {
System.out.println(filePath + " 文件已被成功删除!");
} else {
System.out.println("删除文件 " + filePath + " 失败,可能是文件正在被使用或没有足够的权限。");
}
} else {
System.out.println("文件 " + filePath + " 不存在,无需删除。");
}
}
目录是否存在-!Files.exists(path)
新建目录- Files.createDirectories(path);
检查目录是否存在,如果不存在则新建~
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class DirectoryHandler {
public static void ensureDirectoryExists(String outputFolder) {
Path path = Paths.get(outputFolder);
// 检查目录是否存在
if (!Files.exists(path)) {
try {
// 如果不存在,则创建目录,包括任何必须的父目录
Files.createDirectories(path);
System.out.println("目录创建成功: " + outputFolder);
} catch (Exception e) {
System.err.println("创建目录时发生错误: " + e.getMessage());
}
} else {
System.out.println("目录已存在: " + outputFolder);
}
}
public static void main(String[] args) {
String outputFolder = "E:/Monitor/monitor1/";
ensureDirectoryExists(outputFolder);
}
}