screenshot saving as autogenerated file name

前端 未结 2 2098
难免孤独
难免孤独 2020-12-07 06:22

I made a button to take the screenshot and save into Pictures folder. I set it as being saved under the name capture.jpeg but I wanted it to be saved as such as cafe001.jpeg

2条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-07 07:10

    To save as another name just change the string "capture.jpeg"

    If you want to have it as cafeXXX.jpeg (where XXX is a number) then you could do something like this (this method could potentially cause number overlaps however if files are deleted):

    int count = 1;
    File picturesDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
    File[] content = picturesDir.listFiles();
    for (File f: content)
    {
        if (f.getName().matches("cafe\\d+\\.jpeg"))
            count++;
    }
    //... your other code
    // if leading zeros important then add formatting code to the count
    fos = new FileOutputStream(picturesDir.toString() + "cafe"+count+".jpeg");
    

    If you want a timeformat just use SimpleDateFormat changing the format String as required (as only going to day will mean you will only get time format per day)

    String timeFileName = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
    //...other code
    fos = new FileOutputStream(picturesDir.toString() + timeFileName+".jpeg");
    

提交回复
热议问题