1

我在从存储库中签出的文件夹中有一堆文件。我有一个代码必须将文件从文件夹复制到另一个文件夹。我执行以下操作:

File f = new File(/* path of folder */);
File[] fs = f.listFiles();
for(int i=0; i<fs.length; i++){
        FileChannel in = new FileInputStream(fs[i]).getChannel();
        FileChannel out = new FileOutputStream(/* output directory */ +File.separatorChar+files[i].getName()).getChannel();
        in.transferTo(0, in.size(), out);
}

但是,签出目录中的 .svn 文件会导致问题。我得到了例外:

java.io.FileNotFoundException: /checked_out_folder/.svn (No such file or directory)
[x]     at java.io.FileInputStream.open(Native Method)
[x]     at java.io.FileInputStream.<init>(FileInputStream.java:120)

是因为它是隐藏文件吗?这可能是什么解决方案?或者我在这里错过了什么?谢谢

4

1 回答 1

5

我认为这是因为它是一个目录而不是一个文件。

您必须使用mkdir方法创建的目录。据我所知,整个目录不能在java中复制。

有关如何复制目录的示例,请参阅博客文章。

于 2012-06-12T22:55:21.407 回答