How to copy file in Java from one directory to another is common requirement, given that there is no direct method in File API for copying files from one location to another. Painful way of copying file is reading from FileInputStream and writing same data to FileOutputStream to another directory. Though this process works its pretty raw to work with and best approach is for anyone to create library for common File operation like cut, copy, paste etc. Thankfully you don't need to reinvent wheel here, there are some open source library available which allows us to copy file in Java easily from one directory to another. One of such library is Apache commons IO which contains a class called FileUtils, which provides utility method for file related operation. FileUtils.copyFile(sourceFile, targetFile) can be used to copy files in Java. This Java program copy file from one location to other using FileUtils class.
This Java programming tutorial is next in series of earlier article in File API like how to create hidden file in Java and how to read from text file. If you are new to Java File API you may find them useful.
Java Program to copy file in Java - Example Code:
Below is the complete code example of copying one file in Java. We need to provide absolute path of source file to copy and destination directory. you can get the name of file by calling File.getName() and FileUtils will create the same file in destination directory with same name.
That's all on how to copy file in Java. This simple Java program can be extended to copy all files from one directory to another directory by just providing name of source and directory and then Java program will pick up each file and create another file with same name in target directory. If you are going to do in plain Java its requires lot of code and chances of error is high but if you use Apache Commons io library and FileUtils class it just matter of few line. As Joshua Bloach has rightly said in Effective Java, “prefer library over custom code”. Let me know if you find any bug on this Java File copy program .