通过其位置自动获取listview中文件夹的路径

时间:2014-05-09 15:35:06

标签: android file listview copy external

我的xml文件中有外部存储的所有文件夹的列表视图。当用户点击任何文件夹时,它允许他在我的程序中添加该文件夹中的文件。当用户点击该文件夹时,它应该自动获取该文件夹的路径作为存储该文件的目的地。用户可以通过浏览提供源文件夹路径并选择..有没有办法可以通过获取listview中该文件夹的位置来实现?使用以下代码将文件从源文件夹复制到目标文件夹

        public void copy(File src, File dst) throws IOException {
                 FileInputStream inStream = new FileInputStream(src);
                 FileOutputStream outStream = new FileOutputStream(dst);
                 FileChannel inChannel = inStream.getChannel();
                 FileChannel outChannel = outStream.getChannel();
                 inChannel.transferTo(0, inChannel.size(), outChannel);
                 inStream.close();
                 outStream.close();
             }

我使用此代码显示我的应用程序目录(ABC)中外部存储空间中的所有文件夹

                        try {
            ListView lv;
            File ppath=Environment.getExternalStorageDirectory();
            ArrayList<String> FilesInFolder = GetFiles(ppath+"/ABC");
            lv = (ListView)findViewById(R.id.filelist);
            lv.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, FilesInFolder));

            lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                // TODO Auto-generated method stub

            }
            });
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


}
public ArrayList<String> GetFiles(String DirectoryPath) {
    ArrayList<String> MyFiles = new ArrayList<String>();
    File f = new File(DirectoryPath);

    f.mkdirs();
    File[] files = f.listFiles();
    if (files.length == 0)
        return null;
    else {
        for (int i=0; i<files.length; i++) 
            MyFiles.add(files[i].getName());
    }

    return MyFiles;
}   

}

0 个答案:

没有答案