在此功能中,我正在尝试将文件从一个位置复制到 另一个指定的位置,将创建特定的文件夹和 模式匹配文件将被复制到该单个文件夹。
public static void matchFileNames(List filesList,List fileTest){
String inputVal;
File[] tempDir;
String tempFileName;
int l=0;
for (int i=0;i<filesList.size();i++){
inputVal=filesList.get(i).toString();
for(int k=0;k<fileTest.size();k++){
String fileName=fileTest.get(k).toString();
if (isMatching(fileName,inputVal)){
tempFileName="D:\\Mass\\Dest"+"\\"+inputVal;
try {
tempDir[l]=new File(tempFileName);
if(l==0){
tempDir[l++].mkdir();
copyFileContents(new File("D:\\Mass\\Auto"+"\\"+fileName+".txt"),new File("D:\\Mass\\Dest"+"\\"+tempFileName+"\\"+fileName+".txt"));
}
if (!tempDir[l].exists()){
tempDir[l++].mkdir();
copyFileContents(new File("D:\\Mass\\Auto"+"\\"+fileName+".txt"),new File("D:\\Mass\\Dest"+"\\"+tempFileName+"\\"+fileName+".txt"));
}
else
copyFileContents(new File("D:\\Mass\\Auto"+"\\"+fileName+".txt"),new File("D:\\Mass\\Dest"+"\\"+tempFileName+"\\"+fileName+".txt"));
}catch (Exception x) {
x.printStackTrace();
}
}
}
}
}
答案 0 :(得分:0)
根据JLS rule of definite assignment,需要启动局部变量,从而导致错误。因此,请初始化您的inputVal
和tempFileName
变量。可能是这样的:
String inputVal = ""; // or with null or any other apt value
File[] tempDir=null;
String tempFileName = ""; // or will null or any other apt value