我的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;
}
}