简体   繁体   中英

How to copy a file to a directory in Java 7

I'm trying to copy a number of files to an output directory in Java 7 using Path and Files. This doesn't work:

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/");

It generates a "directory not empty" error.

Yes, I could write code to name the output file directly, or use Guava, but I'm trying to do it the simplest way using the new Java 7 nio classes.

The easiest way:

Path file = /* path to source file */
Path to = /* path to destination directory */
Files.copy(file, to.resolve(file.getFileName()));

The command appears to be attempting to replace the directory itself. Try specifying the filename in the target directory

Files.copy(Paths.get("/my/file.txt"), Paths.get("/my/output/directory/file.txt"));

From docs Java 7 :

copy(Path source, Path target, CopyOption... options)

Copy a file to a target file .

So you must specify destination file.

I have a large number of files

You can get file name by splitting source path and append to destination folder.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM