0

我只想列出文件夹中的 .db 文件并将它们加入一个 db 文件。此时我只能列出文件夹中的所有文件。有人可以帮我如何过滤 .db 文件吗?然后将这个数据库文件加入一个文件的最佳方法是什么?这是我的代码

public List<String> directoryPath(File path) {
    List<String> item = null;
    if( path.exists() && path.isDirectory()) {
        File[] files = path.listFiles(new FilenameFilter(){
                public boolean accept(File dir, String filename) {
                    return filename.endsWith(".db");     
                }
            });
        for(int i=0; i < files.length; i++)

        {

          File file = files[i];

           item.add(file);

        }


    }
    return item;
}

我编辑了我的代码,现在我在 Can some one help me abut itemthis? 为什么我得到这个错误?我用这种方式调用这段代码

File path=new File(ClubCP.SDcardPath);
    Log.i("database_list","call list files");
    List<String> file_lists =   main.directoryPath(path);
    Log.i("database_list","list adapter");
    ListView Database_list=(ListView)findViewById(R.id.database_list);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_spinner_item,
            file_lists);
    Database_list.setAdapter(adapter);
4

2 回答 2

2

您实现FileFilter (或FilenameFilter)接口并将该对象传递给该File.listFiles(File[name]Filter)方法。

public void directoryPath(File path) {
    if( path.exists() && path.isDirectory()) {
        File[] files = path.listFiles(new FilenameFilter(){
                public boolean accept(File dir, String filename) {
                    return filename.endsWith(".db");     
                }
            });
        // files only contains files that end with .db
    }
}

要合并数据库文件,您实际上并没有走在正确的轨道上。您不能只将一个数据库文件附加到另一个数据库文件的末尾。您必须使用 sql 实际加载一个文件,然后将表复制到 sql 中。 如何合并多个 sqlite 数据库?

于 2013-04-08T07:58:02.133 回答
1

检查文件[i].getName().endsWith(".db")

于 2013-04-08T07:54:40.493 回答