cari
RumahJavajavaTutorial详细介绍Java实现文件或文件夹的复制到指定目录的实例

本篇文章主要介绍了Java实现文件或文件夹的复制到指定目录实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

整理文档,搜刮出一个Java实现文件或文件夹的复制到指定目录的代码,稍微整理精简一下做下分享。

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
 
public class Test { 
  private static int a = 5; 
 
  public static void main(String[] args) { 
    //需要复制的目标文件或目标文件夹 
    String pathname = "C:/Users/likun/Desktop/git_project"; 
    File file = new File(pathname); 
    //复制到的位置 
    String topathname = "C:/Users/likun/Desktop/movie"; 
    File toFile = new File(topathname); 
    try { 
      copy(file, toFile); 
    } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
  } 
 
  public static void copy(File file, File toFile) throws Exception { 
    byte[] b = new byte[1024]; 
    int a; 
    FileInputStream fis; 
    FileOutputStream fos; 
    if (file.isDirectory()) { 
      String filepath = file.getAbsolutePath(); 
      filepath=filepath.replaceAll("\\\\", "/"); 
      String toFilepath = toFile.getAbsolutePath(); 
      toFilepath=toFilepath.replaceAll("\\\\", "/"); 
      int lastIndexOf = filepath.lastIndexOf("/"); 
      toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length()); 
      File copy=new File(toFilepath); 
      //复制文件夹 
      if (!copy.exists()) { 
        copy.mkdir(); 
      } 
      //遍历文件夹 
      for (File f : file.listFiles()) { 
        copy(f, copy); 
      } 
    } else { 
      if (toFile.isDirectory()) { 
        String filepath = file.getAbsolutePath(); 
        filepath=filepath.replaceAll("\\\\", "/"); 
        String toFilepath = toFile.getAbsolutePath(); 
        toFilepath=toFilepath.replaceAll("\\\\", "/"); 
        int lastIndexOf = filepath.lastIndexOf("/"); 
        toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length()); 
         
        //写文件 
        File newFile = new File(toFilepath); 
        fis = new FileInputStream(file); 
        fos = new FileOutputStream(newFile); 
        while ((a = fis.read(b)) != -1) { 
          fos.write(b, 0, a); 
        } 
      } else { 
        //写文件 
        fis = new FileInputStream(file); 
        fos = new FileOutputStream(toFile); 
        while ((a = fis.read(b)) != -1) { 
          fos.write(b, 0, a); 
        } 
      } 
 
    } 
  } 
 
}

Atas ialah kandungan terperinci 详细介绍Java实现文件或文件夹的复制到指定目录的实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana untuk menangani ralat limpahan nombor ketika menyambung ke pangkalan data Oracle dalam IDEA?Bagaimana untuk menangani ralat limpahan nombor ketika menyambung ke pangkalan data Oracle dalam IDEA?Apr 19, 2025 pm 04:15 PM

Cara menangani kesilapan limpahan digital ketika menyambung ke pangkalan data Oracle dalam IDEA ketika kami menggunakan Intellij ...

Bagaimana cara menggunakan anotasi @ResultType dengan betul di mybatis?Bagaimana cara menggunakan anotasi @ResultType dengan betul di mybatis?Apr 19, 2025 pm 04:12 PM

Apabila mengkaji kerangka Mybatis, pemaju sering menghadapi pelbagai masalah mengenai anotasi. Salah satu soalan biasa ialah cara menggunakan anotasi @ResultType dengan betul ...

Bagaimana cara menggunakan teknologi pemprosesan bahasa semulajadi untuk menanyakan data kakitangan yang cekap?Bagaimana cara menggunakan teknologi pemprosesan bahasa semulajadi untuk menanyakan data kakitangan yang cekap?Apr 19, 2025 pm 04:09 PM

Kaedah menggunakan teknologi pemprosesan bahasa semulajadi untuk menanyakan data kakitangan dalam perusahaan moden, pengurusan dan pertanyaan data kakitangan adalah keperluan umum. Katakan kita ...

Di bawah konfigurasi sumber pelbagai data springboot, apakah sebab mengapa akses pangkalan data perlahan pada siang hari dan cepat pada waktu malam?Di bawah konfigurasi sumber pelbagai data springboot, apakah sebab mengapa akses pangkalan data perlahan pada siang hari dan cepat pada waktu malam?Apr 19, 2025 pm 04:06 PM

Masalah Prestasi Akses Pangkalan Data dalam Projek Springboot Multi-Data Sumber Konfigurasi Artikel ini bertujuan menggunakan Atomikos untuk konfigurasi sumber pelbagai data dalam projek springboot ...

NoclassDeffoundError muncul selepas projek Java dibungkus ke dalam balang: Bagaimana menyelesaikan masalah keserasian versi JDK?NoclassDeffoundError muncul selepas projek Java dibungkus ke dalam balang: Bagaimana menyelesaikan masalah keserasian versi JDK?Apr 19, 2025 pm 04:03 PM

Apabila membungkus projek Java ke dalam fail balang yang boleh dilaksanakan, ia menemui masalah NoclassDeffoundError. Banyak pemaju Java boleh ...

Bagaimana untuk menganalisis proses retak Idea Intellij dan mencari lib atau kelas yang bertanggungjawab untuk pendaftaran?Bagaimana untuk menganalisis proses retak Idea Intellij dan mencari lib atau kelas yang bertanggungjawab untuk pendaftaran?Apr 19, 2025 pm 04:00 PM

Mengenai kaedah analisis Intellijidea retak di dunia pengaturcaraan, Intellij ...

Bagaimana untuk meningkatkan kualiti video menggunakan Java dan Javacv? Mengapa kesannya terhad?Bagaimana untuk meningkatkan kualiti video menggunakan Java dan Javacv? Mengapa kesannya terhad?Apr 19, 2025 pm 03:57 PM

Masalah Pengenalan: Kualiti video yang lebih baik adalah bahagian penting dalam pemprosesan video, terutamanya apabila memproses video definisi rendah, cara menggunakan bahasa Java dan ...

Bagaimana untuk mendapatkan anotasi @requestbody dalam springboot untuk menerima parameter rentetan dengan betul dalam format bukan json?Bagaimana untuk mendapatkan anotasi @requestbody dalam springboot untuk menerima parameter rentetan dengan betul dalam format bukan json?Apr 19, 2025 pm 03:54 PM

Dalam mengendalikan aplikasi springboot, kami sering menghadapi masalah bagaimana untuk menerima parameter permintaan dengan betul. Terutama apabila format parameter bukan JSON biasa, lebih banyak ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini