2012-04-25 4 views

ответ

1

Я хочу создать каталог, ввести этот каталог и скопировать файлы в него. Возможно ли это в java?

Возможно создание каталога. Используйте File.mkdir или File.mkdirs.

Возможно копирование файлов в каталог. Существует много способов сделать это, в зависимости от того, с чего вы копируете.

Вводя в каталог, я предполагаю, что вы имеете в виду сделать новый каталог «текущим каталогом» JVM. К сожалению, стандартная Java не позволяет вам это делать. Невозможно изменить текущий каталог JVM. Однако:

  • Вам не нужно изменить каталог сделать то, что вы пытаетесь сделать ... копировать файлы в новый каталог.

  • В общем случае приложение, которому требуется понятие текущего каталога (для всего приложения или отдельного потока), можно реализовать его, создав объекты File относительно File, которые представляют соответствующий текущий каталог.

Я не знаю точно, почему дизайнеры Java решили не поддерживать функциональность «chdir». Тем не менее:

  • Некоторые платформы ОС не могут поддерживать изменение каталога, что приводит к проблемам с безопасностью и эффективностью поддержки этой функции на Java. (JVM необходимо будет сделать относительно абсолютного отображения пути непосредственно перед передачей имени пути в ОС. И, вероятно, будут существовать условия гонки, которых следует избегать.)

  • Тот факт, что «chdir» (поддерживаемый изначально Например, UNIX/Linux) влияет на весь процесс, что может вызвать проблемы в многопоточных Java-приложениях.

1

Да.

Вы можете создать каталог с File.mkdir()

Для копирования файлов, есть и другие интерфейсы. Вот relevant page from the official Java Tutorial, со ссылкой на примеры.

Обратите внимание, что вам не нужно менять текущий каталог, чтобы сделать эту копию.

+0

В зависимости от обстоятельств «mkdirs» может быть более уместным. – emory

Смежные вопросы