程序运行时将文件重命名为键入的名称

时间:2016-08-31 21:17:43

标签: java file file-io bufferedreader subtitle

System.out.println("Hi there!");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try
{
    String newName = br.readLine();
}
catch (IOException e)
{
    e.printStackTrace();
}

System.out.println(newName);

Renamer renamer = new Renamer(new File("E:\\Downloads\\test"));

renamer.justWorkPlease(newName);

所以,这是主要部分(对不起我是编程的新手,我不太了解表达式![不确定是否是一个类或其他什么])并且我有一个方法将所有文件重命名为0.txt1.txt等的类(justworkplease)

我的目标是创建一个程序,可以实现文件是视频还是副标题,以及它们是否属于一起。如果是,请将它们命名为相同,但电影将保留在其中(.mkv.avi等),并且字幕保留在srt。 例如,

  • film.other.useless.informations.about.uploader.mkv
  • film-eng.srt

将重命名为

  • film.mkv
  • film.srt

这是长期目标,因此任何建议都会有所帮助:)

但是,atm我想要像这样

println("please give me the name")

输出:

film

然后,它将所有文件重命名为

  • film1.mkv
  • film1.srt
  • film2.mkv
  • film2.srt

所以电影是一个变量,然后它只是把i。

但我的问题是,当我提出bufferedreader我不知道时,字符newname在读者外面不可见。 (我使用intellij,所以我需要bufferedreadersth来输入)

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么这个怎么样?我假设您无法在TRY块之外访问newName变量。您可能想要进行一些NULL检查。

String newName = null;

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try
{
    newName = br.readLine();
}
catch (IOException e)
{
    e.printStackTrace();
}

System.out.println(newName);

Renamer renamer = new Renamer(new File("E:\\Downloads\\test"));

renamer.justWorkPlease(newName);