java 根据文件名尾名创建新文件
时间: 2024-09-27 19:04:53 浏览: 24
在Java中,你可以使用`java.io.File`和`java.io.FileOutputStream`或者`java.nio.file.Files` API 来根据文件名的后缀创建新文件。下面是一个简单的例子,假设你想创建一个与现有文件同名但扩展名为`.bak`的新备份文件:
```java
import java.io.File;
import java.io.FileOutputStream;
public class CreateBackupFile {
public static void main(String[] args) {
try {
// 首先获取原始文件路径
File originalFile = new File("path/to/original/file.txt"); // 替换为你的文件路径
String fileNameWithoutExtension = originalFile.getName();
String extension = getExtension(fileNameWithoutExtension); // 获取文件后缀名
// 创建备份文件名,即原文件名加上".bak"
String backupFileName = fileNameWithoutExtension.substring(0, fileNameWithoutExtension.lastIndexOf(".")) + ".bak";
// 创建新文件
File backupFile = new File(originalFile.getParentFile(), backupFileName);
FileOutputStream fos = new FileOutputStream(backupFile);
// 写入数据或其他操作...
fos.write(new byte[]{0, 0, 0}); // 这里仅作示例,实际应用中应写入文件内容
// 关闭流
fos.close();
System.out.println("Backup file created successfully: " + backupFile.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getExtension(String name) {
int dotIndex = name.lastIndexOf(".");
if (dotIndex > 0 && dotIndex < name.length() - 1) {
return name.substring(dotIndex + 1);
}
return ""; // 如果没有扩展名,返回空字符串
}
}
```
在这个例子中,我们首先从原始文件名中提取出后缀,然后将其替换为`.bak`,再创建一个新的`File`对象。接着,我们可以写入数据到新文件。