写入文件前删除前缀

时间:2019-03-26 08:58:58

标签: java

我的文件名为Codex_file001.zip。我想在写入文件之前删除前缀Codex_。任何帮助,将不胜感激。

File f=new File("Codex_file001.zip");
    String s = f.getName();
    String[] splitted = s.split("_");
    File new1 = new File(splitted[1]);
    Files.copy(f, new1);
    f.delete();

我想用文件file001.zip保存该文件。

3 个答案:

答案 0 :(得分:1)

会是这样的:

File f = new File("Codex_test.txt");
String fName = f.getName();
String newFName = fName.substring(fName.indexOf("_")+1);
f.renameTo(new File(newFName));

您可以结合使用substring和indexOf来确定起始字符的位置。然后重命名为以创建一个新文件。

答案 1 :(得分:0)

您可以检查String是否包含_,然后吐出,例如:

private String removeCharsBeforeUnderscore(String input) {
    return input.contains("_") ? input.split("_")[1] : input;
}

并这样称呼它:

System.out.println(removeCharsBeforeUnderscore("Codex_file001"));

即使String没有下划线字符也可以。

答案 2 :(得分:0)

使用带有replaceFirst的正则表达式模式

String test = "Codex_file001.zip";
System.out.println(test.replaceFirst(".*?_", ""));

输出:

file001.zip