我有一个JFilechooser来选择存储一些数据的文件名和路径。但我还想在同一路径中存储一个额外的文件,同名但不同的扩展名。所以:
File file = filechooser.getSelectedFile();
String path = file.getParent();
String filename1 = file.getName();
// Check the extension .ext1 has been added, else add it
if(!filename1.endswith(".ext1")){
filename2 = filename1 + ".ext2";
filename1 += ".ext1";
}
else{
filename2 = filename1;
filename2 = filename2.substring(0, filename2.length-4) + "ext2";
}
// And now, if I want the full path for these files:
System.out.println(path); // E.g. prints "/home/test" withtout the ending slash
System.out.println(path + filename1); // E.g. prints "/home/testfilename1.ext1"
当然我可以在两个字符串的中间添加“/”,但我希望它与平台无关,而在Windows中它应该是“\”(即使是Windows路径文件C:\ users \ test / filename1.ext1可能会起作用。)
我可以想到许多肮脏的方法,这会让我在里面的python开发人员哭泣,但哪一个会是最干净和最奇特的?
答案 0 :(得分:2)
您可以使用File类中的常量:
File.separator // e.g. / or \
File.pathSeparator // e.g. : or ;
或您可以执行的path + filename1
File file = new File(path, filename1);
System.out.println(file);
答案 1 :(得分:1)
只需使用File类:
System.out.println(new File(file.getParent(), "filename1"));
答案 2 :(得分:0)
您可以使用:
System.getProperty("file.separator");