Если вы используете Java 7, Файлы (в стандартной библиотеке) - лучший подход:
/* You can get Path from file also: file.toPath() */
Files.copy(InputStream in, Path target)
Files.copy(Path source, OutputStream out)
Редактировать: Конечно, это просто полезно, когда вы создаете один из InputStream или OutputStream из файла. Используйте file.toPath()
, чтобы получить путь из файла.
Чтобы записать в существующий файл (например, созданный с помощью File.createTempFile()
), вам нужно передать опцию REPLACE_EXISTING
copy (в противном случае FileAlreadyExistsException
выдается):
Files.copy(in, target, StandardCopyOption.REPLACE_EXISTING)