当我连接Date和用于创建新目录的文件名时,我遇到了问题 .
如果我PATH.concat(电影)它创建一个目录,但如果我连接名称(电影名称与日期)“它说创建!”但它并没有创造任何直接的东西 .
FileChooser fileChooser = new FileChooser();
FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter("Select a File ('.mp4')", "*.mp4");
fileChooser.getExtensionFilters().add(filter);
File file = fileChooser.showOpenDialog(null);
String movie = file.getName();
filePath = file.toURI().toString();
String s;
Format formatter;
Date date = new Date();
formatter = new SimpleDateFormat("MM/dd/YYYY");
s = formatter.format(date);
String PATH = "C:\\FINALDATA\\";
String name = movie+"("+s+")";
String folderName = PATH.concat(name);
File fileName = new File(folderName);
if(!fileName.exists()){
boolean result = fileName.mkdir();
System.out.print("Created!");
}else{
System.out.print("Error!");
}
2 回答
您的日期格式在此处创建了问题 . 您无法使用
'/'
创建文件夹或文件名 . 我认为你最好将日期格式更改为MM-dd-yyyy
并尝试 .java.time
这会给你一个字符串
s
之类的正如UVM已经说过的那样,正斜杠
/
是Windows上文件名中的禁用字符(以及其他常见操作系统上的反斜杠\
和冒号:
) .您可能希望更进一步,并使用ISO 8601格式作为您的日期 . 然后按字母顺序排序也是按时间顺序排列的 .
不要使用
Date
和SimpleDateFormat
. 这些课程有设计问题 . 根据我的经验,后者往往很麻烦 . 这些课程也很久了 . java.time是现代Java日期和时间API,使用起来非常好 .Link: Oracle tutorial: Date Time解释如何使用
java.time
.