directoryReader以文件[]格式顯示當前目錄中的目錄。Java:單向函數將事物添加到聲明的File []中?
代碼
DirectoryReader data = new DirectoryReader();
File[] dirs = data.getDirsInDir(".");
File[] dirsMore = data.getDirsInDir("..");
// How can I append dirsMore to dirs-file[]?
directoryReader以文件[]格式顯示當前目錄中的目錄。Java:單向函數將事物添加到聲明的File []中?
代碼
DirectoryReader data = new DirectoryReader();
File[] dirs = data.getDirsInDir(".");
File[] dirsMore = data.getDirsInDir("..");
// How can I append dirsMore to dirs-file[]?
File[] concat(File[] A, File[] B)
{
File[] C= new File[A.length+B.length];
System.arraycopy(A, 0, C, 0, A.length);
System.arraycopy(B, 0, C, A.length, B.length);
return C;
}
繼承人的文檔for Java的arraycopy()方法。
List<File> aList = Arrays.asList(dirs);
List<File> bList = Arrays.asList(dirsMore);
aList.addAll(bList); // a has all elements
您不能追加到一個數組。最簡單的方法是將數組放入Collection中,對另一個數組執行「addAll」,然後在Collection上使用「toArray」。
List<File> fileList = new ArrayList<File>();
fileList.addAll(dirs);
fileList.addAll(dirsMore);
File[] allDirs = fileList.toArray(new File[0]);
我很確定你從Arrays.asList得到的列表不能附加到。 – 2010-04-03 12:05:13
謝謝,即時嘗試它,它使例外: java.lang.UnsupportedOperationException – 2010-04-03 12:17:59