Невозможно объединить дату и имя файла для mkdir () JavaFX - PullRequest
0 голосов
/ 09 декабря 2018

У меня возникла проблема при объединении даты и имени файла для создания нового каталога.

Если я 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 ]

0 голосов
/ 09 декабря 2018

java.time

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("MM-dd-uuuu");
    String s = LocalDate.now(ZoneId.of("Europe/Bratislava")).format(dateFormatter);

Это даст вам строку s как

12-09-2018

Как UVMКак уже говорилось, косая черта / является запрещенным символом в именах файлов в Windows (и в других распространенных операционных системах, вместе с косой чертой \ и двоеточием :).

Возможно, вы захотите сделать еще один шаг и использовать формат ISO 8601 для вашей даты.Тогда сортировка по алфавиту тоже хронологическая.

    String s = LocalDate.now(ZoneId.of("Europe/Bratislava")).toString();

2018-12-09

Не используйте Date и SimpleDateFormat.У этих классов есть проблемы с дизайном.В моем опыте особенно последнее часто неприятно.Занятия также давно устарели.И java.time, современный Java-интерфейс даты и времени, гораздо приятнее работать.

Ссылка: Учебное пособие по Oracle: Дата и время , объясняющее, как использоватьjava.time.

0 голосов
/ 09 декабря 2018

Ваш формат даты создает проблему здесь.Вы не можете создать папку или имя файла с '/' в нем.Я думаю, вам лучше изменить формат даты на MM-dd-yyyy и попробовать.

...