android - www file sdcard




एसडी कार्ड के फ़ोल्डर से फाइलों को एसडी कार्ड के दूसरे फ़ोल्डर में कॉपी करें (3)

क्या किसी अन्य फ़ोल्डर में sdcard में मौजूद एक फ़ोल्डर को कॉपी करना संभव है, उसी प्रोग्राम को समान sdcard ??

यदि हां, तो ऐसा कैसे करें?



उस उदाहरण का एक बेहतर संस्करण:

// If targetLocation does not exist, it will be created.
public void copyDirectory(File sourceLocation , File targetLocation)
throws IOException {

    if (sourceLocation.isDirectory()) {
        if (!targetLocation.exists() && !targetLocation.mkdirs()) {
            throw new IOException("Cannot create dir " + targetLocation.getAbsolutePath());
        }

        String[] children = sourceLocation.list();
        for (int i=0; i<children.length; i++) {
            copyDirectory(new File(sourceLocation, children[i]),
                    new File(targetLocation, children[i]));
        }
    } else {

        // make sure the directory we plan to store the recording in exists
        File directory = targetLocation.getParentFile();
        if (directory != null && !directory.exists() && !directory.mkdirs()) {
            throw new IOException("Cannot create dir " + directory.getAbsolutePath());
        }

        InputStream in = new FileInputStream(sourceLocation);
        OutputStream out = new FileOutputStream(targetLocation);

        // Copy the bits from instream to outstream
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
}

कुछ बेहतर त्रुटि हैंडलिंग और बेहतर संभालती है यदि पारित लक्ष्य फ़ाइल उस निर्देशिका में स्थित है जो मौजूद नहीं है।


फ़ाइलों या निर्देशिकाओं को स्थानांतरित करने के लिए, आप File.renameTo(String path) फ़ंक्शन का उपयोग कर सकते हैं

File oldFile = new File (oldFilePath);
oldFile.renameTo(newFilePath);




android-file