public class Copydirectorydemo {
public static void Main (string[] args) {
File Srcfolder = new file ("C:\\users\\ma\\desktop\\iotest");
File Destfolder = new file ("C:\\users\\ma\\desktop\\iotest\\test");
Fun (Srcfolder, destfolder);
}
public static void Fun (file srcfolder, file Destfolder) {
file[] Filearray = Srcfolder.listfiles ();
if (!destfolder.exists ()) {
Destfolder.mkdir ();
}
for (File File:filearray) {
if (File.isdirectory ()) {
String folderName = File.getname ();
File Newdestfolder = new file (Destfolder, folderName);
Fun (file, newdestfolder);
} else {
String fileName = File.getname ();
File DestFile = new file (Destfolder, fileName);
Copy (file, destfile);
}
}
}
public static void copy (file file, file DestFile) {
Bufferedinputstream bis = null;
Bufferedoutputstream BOS = NULL;
try {
bis = new Bufferedinputstream (new FileInputStream (file));
BOS = new Bufferedoutputstream (new FileOutputStream (DestFile));
byte[] bys = new byte[1024];
int len = 0;
while ((Len=bis.read (bys))!=-1) {
Bos.write (Bys,0,len);
}
} catch (FileNotFoundException e) {
E.printstacktrace ();
}catch (IOException e) {
E.printstacktrace ();
}finally{
if (bis!=null) {
try {
Bis.close ();
} catch (IOException e) {
E.printstacktrace ();
}
}
if (bos!=null) {
try {
Bos.close ();
} catch (IOException e) {
E.printstacktrace ();
}
}
}
}
}
java-copying folders to the specified directory via IO stream