复制文件(影像)的CacheDir到SD卡影像、文件、SD、CacheDir

2023-09-04 06:06:50 作者:绾橴蔋

我希望能够以移动或从Android设备的内部缓存中复制文件,并把这个插入SD卡永久存储。这是我到目前为止有:

 公共无效onClickSaveSecret(视图v){

    文件图像=新的文件(getApplication()getCacheDir()+/image.png。);
    文件newImage =新的文件(Environment.getExternalStorageDirectory()+/image.png);

    Toast.makeText(这一点,图像保存,100).show();

}
 

解决方案

  / **
 *从源到目标复制文件
 *
 * @参数src源
 * @参数DST目的地
 * @throws java.io.IOException异常情况下的任何问题
 * /
无效的CopyFile(SRC文件,文件DST)抛出IOException异常{
    FileChannel随路=新的FileInputStream(SRC).getChannel();
    FileChannel outChannel =新的FileOutputStream(DST).getChannel();
    尝试 {
        inChannel.transferTo(0,inChannel.size(),outChannel);
    } 最后 {
        如果(随路!= NULL)
            inChannel.close();
        如果(outChannel!= NULL)
            outChannel.close();
    }
}
 

怎样把华为c8812的手机内存的东西传 转到SD卡中呢

I want to be able to either move or copy a file from the internal Cache of an android device and put this into permanent storage on the SD Card. This is what I have so far:

public void onClickSaveSecret(View v){

    File image = new File(getApplication().getCacheDir() + "/image.png");
    File newImage = new File(Environment.getExternalStorageDirectory() + "/image.png");

    Toast.makeText(this, "Image Saved", 100).show();

}

解决方案

/**
 * copy file from source to destination
 *
 * @param src source
 * @param dst destination
 * @throws java.io.IOException in case of any problems
 */
void copyFile(File src, File dst) throws IOException {
    FileChannel inChannel = new FileInputStream(src).getChannel();
    FileChannel outChannel = new FileOutputStream(dst).getChannel();
    try {
        inChannel.transferTo(0, inChannel.size(), outChannel);
    } finally {
        if (inChannel != null)
            inChannel.close();
        if (outChannel != null)
            outChannel.close();
    }
}