小编use*_*265的帖子

如何使用多线程扫描目录

我有一个单线程的目录扫描程序.扫描文件时,我必须读取属性信息并将其插入数据库.

我有两个问题.为了提高性能:

  1. 如何用多线程扫描?(扫描Android手机的SD卡)
  2. 如何优化批量插入到DB?

以下是代码清单:

void scan() {
    File file = new File("/mnt/sdcard");
    fun(file);
}

void fun(File file) {
    if (!file.exists()) {
        return;
    }
    if (!file.isDirectory()) {
        // read attribute information and insert to db
        return;
    } else {
        File[] arr = file.listFiles();
        for (int i = 0; i < arr.length; i++) {
            fun(arr[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java database directory multithreading file

6
推荐指数
2
解决办法
6829
查看次数

标签 统计

database ×1

directory ×1

file ×1

java ×1

multithreading ×1