特定の拡張子を持つすべてのファイルの名前を変更しようとしています。これは問題なく動作しますが、プロセスが遅くなり、しばらくの間デバイスがフリーズすることがあります。どのように私はそれがより少ないメモリを取るようにするのですか?その下に、このリンクにファイルの名前を変更するとメモリが大量に失われる
setContentView(R.layout.transparent_ui);
// getting SDcard root path
File dir = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath());
walkdir(dir);
finish();
}
public static final String[] TARGET_EXTENSIONS = { "the_video_first",
"webm", "mkv", "flv", "vob", "ogg", "drc", "gif", "gifv", "mng",
"avi", "mov", "wmv", "yuv", "rm", "rmvb", "asf", "mp4", "mpg",
"mpeg", "mpg", "mpeg", "m4v", "svi", "3gp", "3g2", "mxf",
"now_the_audio", "wav", "mp3", "wma", "ogg", "m4a",
"now_the_images", "jpg", "jpeg", "png", "bmp" };
public void walkdir(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
walkdir(listFile[i]);
} else {
String fPath = listFile[i].getPath();
for (String ext : TARGET_EXTENSIONS) {
fPath = fPath.replace("." + ext, ".xghost" + ext);
}
listFile[i].renameTo(new File(fPath));
}
}
}
}
このライブラリを試しましたか?コンパイル 'commons-io:commons-io:2.4'。それはいくつかの良いファイル操作を持っています。 –