我正在编写一个非常基本的Java程序,该程序需要一个文件,进行一些修改并将输出保存在另一个文件中。我的问题是我想用相同的名称保存它,但使用不同的扩展名。
我当前的代码使用JFileChooser获取原始文件,将其转换为路径,并使用.resolveSibling()方法。但是,这将导致test.ngc的输出保存在test.ngc.fnc中
有什么好方法可以用相同的名称保存文件,但扩展名与所选的扩展名不同?
Path originalFile = null;
JFileChooser chooser = new JFileChooser(".ngc");
chooser.setFileFilter(new FileNameExtensionFilter("Pycam G Code files", "ngc"));
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
{
originalFile = chooser.getSelectedFile().toPath();
}
Path newFile = originalFile.resolveSibling(originalFile.getFileName() + ".fnc");
/* does reading and modification and saving here using BufferedReader and BufferedWriter*/
最佳答案
这应该工作:
String originalFilename = originalFile.getFileName();
String fileNameNew = originalFilename.substring(0, originalFilename.length()-".ngc".length())+".fnc";
Path newFile = originalFile.resolveSibling(fileNameNew);
关于java - Java将文件以相同的名称保存在同一目录中,但扩展名不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40731396/