Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文件[]转换为字符串[]_Java_Arrays_File_Type Conversion - Fatal编程技术网

Java 将文件[]转换为字符串[]

Java 将文件[]转换为字符串[],java,arrays,file,type-conversion,Java,Arrays,File,Type Conversion,问题:将文件[]转换为字符串[] 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

问题:将文件[]转换为字符串[]

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)
我知道这个异常即将发生,因为我正在将文件对象直接复制到字符串数组。但是有人能帮我将objectArray转换为stringArray吗?请帮助我转换这个的简单方法

要求: 我希望一个接一个地拾取文件数组元素,这样1乘1将获得文件的位置并在循环中处理。下面的示例。
aAL和cAL是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);
    }
for(int i=0;i<4;i++){
String fp=stringArray(i);//执行此操作所需的字符串数组。
字符串accountNum=aAL.get(i).toString();
字符串custId=cAL.get(i).toString();
Runnable worker=新的XMLMultithreading(fp、anum、cid);
执行人,执行人(工人);
}
谢谢

你可以这样做

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();
}
File[]files=getXMLFiles(新文件(“C:\\some path”);
fileArray=新字符串[files.length];
对于(int i=0;i
不能将文件强制转换为字符串,因为文件不是字符串

但是,该文件有几个返回字符串的方法(getName()、getAbsolutePath())

因此,您可以:

String[] stringArray = new String[objectArray.length];
for (int i = 0; i < objectArray.length; i++) stringArray[i] = objectArray[i].getAbsolutePath();
String[]stringArray=新字符串[objectArray.length];
对于(int i=0;i
我怀疑您的方法
getXMLFiles()
调用
File.listFiles()
。如果是这样,请考虑使用<代码>文件> List[()] /代码>:@ PoNoNANDR:是的,它的调用文件.ListFixes())USER 303036::请记住,如果您使用任何FieldObjult.ISFILE()来检查它是否是一个有效的文件。如果文件Field.List.,它将不起作用。如果在末尾只需要字符串数组。