2014-11-03 132 views
-2
  • 在這個函數中,我試圖從一個位置複製文件到 其中特定文件夾中創建和 模式匹配的文件將被複制到單個另一個指定位置夾。文件數組初始化錯誤:變量可能未初始化

    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

按照JLS rule of definite assignment,局部變量需要intiailized,因此錯誤。因此初始化您的inputValtempFileName變量。可能是這樣的:

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

按照指示進行初始化後,出現「空指針異常」。 – 2014-11-03 11:09:24