Junburg
Junburg

Reputation: 360

How to create folder in gallery and save file

Now I copy mp4 file from external storage folder and save copy file in gallery with folder. But My gallery app doesn't have folder I code. Surely, File too. But In File Browser, There are exists correctly in DCIM folder.

So, How can I save file in gallery with folder that I code. Please let me know If you can solve this issue.

private void saveToGallery(String recVideoPath) {
    progressdialog = new CNetProgressdialog(this);
    progressdialog.show();

    String folderName = "DuetStar";
    String fromPath = recVideoPath;
    String toPath = Environment.getExternalStorageDirectory() + "/" + Environment.DIRECTORY_DCIM;

    File toPathDir = new File(toPath + "/" + folderName);
    final File fromPathFile = new File(fromPath);
    File toPathFile = new File(toPath + "/" + folderName, recVideoPath.substring(recVideoPath.lastIndexOf("/") + 1, recVideoPath.length()));

    Log.d(TAG, "saveToGallery: " + RecordActivity.currentCreateFileName);
    Log.d(TAG, "saveToGallery: " + toPathDir.toString());
    Log.d(TAG, "saveToGallery: " + fromPath.toString());
    Log.d(TAG, "saveToGallery: " + toPath.toString());

    if (!toPathDir.exists()) {
        toPathDir.mkdir();
    } else {

    }

    FileInputStream fis = null;
    FileOutputStream fos = null;

    try {

        if (toPathDir.exists()) {
            fis = new FileInputStream(fromPathFile);
            fos = new FileOutputStream(toPathFile);

            byte[] byteArray = new byte[1024];
            int readInt = 0;

            while ((readInt = fis.read(byteArray)) > 0) {
                fos.write(byteArray, 0, readInt);
            }

            Log.d(TAG, "saveToGallery: " + readInt);

            fis.close();
            fos.close();

            Log.d(TAG, "saveToGallery: " + "Seucceful");
        } else {
            Toast.makeText(this, "There is no directory", Toast.LENGTH_SHORT).show();
        }
    } catch (IOException e) {
        e.getMessage();
    }

    progressdialog.dismiss();
}

Upvotes: 0

Views: 227

Answers (1)

Vundigala Rohit
Vundigala Rohit

Reputation: 11

You can save in specific folder as you wish see this code snippet for idea String extStorageDirectory; extStorageDirectory = Environment.getExternalStorageDirectory().toString() + "/Video Folder name/"; //making the folder new File(extStorageDirectory).mkdirs();

Upvotes: 1

Related Questions