问题是这样的,我需要从数据库中读取文件的路径放在一个List中,然后把这些文件拷贝到另外一个目录,怎样才能实现,希望能说的详细一点,真的谢谢了 !!!!
解决方案 »
- 关于jar包导入问题
- 关于 hashcode 的问题
- 怎样将.class文件变为双击即可执行的文件?
- 怎么用JAVA实现模拟点击Flash
- 请大家看看我关于压缩ZIP的CODE,现在总是有Exception抛出
- 有几个概念性的问题看不怎么懂,请高手解释解释!!
- 有谁用过IBM的JVM,讲讲经验
- 如何获得当前的操作系统内正在运行的应用的窗口名称列表?和当前活动窗口的名称。
- java调用Sybase存储过程出错: Stored procedure 'p_test' may be run only in unchained transaction mode
- WIN2000 VS JBUILDER5
- swt如何实现导入指定文件夹下的文件?我做bs不会 cs
- 帮小的改改计算器吧
FileInputStream fis = null;
FileOutputStream fos = null; File[] firstF = file.listFiles();
for (int j = 0; j < firstF.length; j++) {
File[] subF = firstF[j].listFiles();
for (int i = 0; i < subF.length; i++) {
String fileName = subF[i].getName();
fis = new FileInputStream(subF[i]);
fos = new FileOutputStream("D:\\" + fileName);
int byt;
while ((byt = fis.read()) != -1) {
fos.write(byt);
} }
}
fis.close();
fos.close();
}自己研究一下吧,挺容易的
如果源文件在不同的DISK上,一个线程中循环读和多线程并行读,哪个性能高?
第二个是IO操作效率问题。
上面的代码读写一次要经过五次上下文切l换,三次用户/内核模式数据复制。
而如果系统支持DMA通道,可以直接在内核模式下将源数据COPY到目标。
FileChannel的transferTo和transferFrom可以使用。如果文件比较大,Buffer的块操作肯定比byte操作要快。