问题:将文件[]转换为字符串[]
File[] objectArray=getXMLFiles(new File("C:\\some-path"));
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);
例外:
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.Arrays.copyOf(Unknown Source)
我确实理解这个异常即将发生,因为我直接将文件Object复制到String数组。但是有人可以帮我将objectArray转换为stringArray。请帮我一个简单的方法来转换它。
要求:
我希望逐个挑选文件数组元素,这样1比1将获得文件的位置,并将在下面的loop.Sample中处理。aAL and cAL is arraylist.
for (int i = 0; i < 4; i++) {
String fp=stringArray(i); //String array required to do this.
String accountNum=aAL.get(i).toString();
String custId=cAL.get(i).toString();
Runnable worker = new XMLMultithreading(fp,anum,cid);
executor.execute(worker);
}
由于
答案 0 :(得分:1)
您无法将文件转换为字符串,导致文件不是字符串。
但是File有一些返回String的方法(getName(),getAbsolutePath())。
所以你可以这样做:
String[] stringArray = new String[objectArray.length];
for (int i = 0; i < objectArray.length; i++) stringArray[i] = objectArray[i].getAbsolutePath();
答案 1 :(得分:0)
你可以这样做
File[] files =getXMLFiles(new File("C:\\some-path"));
fileArray = new String[files.length];
for (int i = 0; i < files.length; ++i){
fileArray[i] = files[i].getName();
}