Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Aşağıdaki örnek kod kaynak klasör, alt klasörler ve dosyaları hedef klasöre kopyalar. Kodun içinde açıklamalar (comments) bulunmaktadır.
Kaynak :
c:\kp , Hedef :
c:\kpyeni PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
package com.kp.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyDirectoryExample
{
public static void main(String[] args)
{
File srcFolder = new File("c:\\kp");
File destFolder = new File("c:\\kpyeni");
//Kaynakta klasör varmı yokmu kontrolü
if(!srcFolder.exists()){
System.out.println("Kaynak bulunamadı.");
//Çıkış
System.exit(0);
}else{
try{
copyFolder(srcFolder,destFolder);
}catch(IOException e){
e.printStackTrace();
//Hata oluştu, Çıkış
System.exit(0);
}
}
System.out.println("İşem bitti");
}
public static void copyFolder(File src, File dest)
throws IOException{
if(src.isDirectory()){
//Eğer hedef klasör yoksa, oluştur
if(!dest.exists()){
dest.mkdir();
System.out.println(src + " kopyalanıyor " + dest);
}
/Klasör altındaki bütün dosya ve klasörleri listele
String files[] = src.list();
for (String file : files) {
//Konstrüksiyon metodları
File srcFile = new File(src, file);
File destFile = new File(dest, file);
//recursive kopyalama fonksiyon
copyFolder(srcFile,destFile);
}
}else{
//Eğer dosya ise
//Bytes stream ile dosya tipine bakmadan hedefe kopyala
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
//dosya içeriği bytes lara bölünerek kopyalanıyor
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.close();
System.out.println("Dosya kaynaktan " + src + ", " + dest + " hedefe kopyalandı.");
}
}
}
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]