文件阵列初始化错误:可能未初始化变量

时间:2014-11-03 10:58:23

标签: java file directory

  • 在此功能中,我正在尝试将文件从一个位置复制到 另一个指定的位置,将创建特定的文件夹和 模式匹配文件将被复制到该单个文件夹。

    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();
                                            }
                                            }   
                                        }   
                                }
                            }
    

1 个答案:

答案 0 :(得分:0)

根据JLS rule of definite assignment,需要启动局部变量,从而导致错误。因此,请初始化您的inputValtempFileName变量。可能是这样的:

   String inputVal = ""; // or with null or any other apt value
   File[] tempDir=null; 
   String tempFileName = ""; // or will null or any other apt value