如何用Java复制文件

时间:2015-08-06 06:38:22

标签: java android compilation

我正在使用Android Studio。是否有可能复制说明的命令,DCIM文件夹中的图片并将其移动到SD卡的根目录?我已经研究过,我一无所获。我已反编译其他应用程序,但一无所获。你可以告诉我,我是一个普通程序员的初学者。我刚刚为这个项目开始了Java。

即使没有,我也想知道,所以我可以停止在网上寻找答案:P

谢谢,欢迎所有评论,如果需要,会发布更多信息! :)

2 个答案:

答案 0 :(得分:3)

使用此功能

public void copyFile(File sourceFile, File destFile)
            throws IOException {

        if (!destFile.exists()) {
            destFile.createNewFile();
        }

        FileChannel source = null;
        FileChannel destination = null;
        FileInputStream is = null;
        FileOutputStream os = null;
        try {
            is = new FileInputStream(sourceFile);
            os = new FileOutputStream(destFile);
            source = is.getChannel();
            destination = os.getChannel();

            long count = 0;
            long size = source.size();
            while ((count += destination.transferFrom(source, count, size
                    - count)) < size)
                ;
        } catch (Exception ex) {
        } finally {
            if (source != null) {
                source.close();
            }
            if (is != null) {
                is.close();
            }
            if (destination != null) {
                destination.close();
            }
            if (os != null) {
                os.close();
            }
        }
    }

答案 1 :(得分:2)

要复制文件,您可以使用以下内容:

File fileToCopy = new File("path to file you want to copy");
File destinationFile = new File(Environment.getExternalStorageDirectory(),"filename");

FileInputStream fis = new FileInputStream(fileToCopy);
FileOutputStream fos = new FileOutputStream(destinationFile);

byte[] b = new byte[1024];
int noOfBytesRead;

while((noOfBytesRead = fis.read(b)) != -1)
     fos.write(b,0,noOfBytesRead);
fis.close();
fos.close();