2015-08-13 51 views
0

我很努力地理解我在這裏做錯了什麼。我已經檢查了很多次這個文件確實存在,我不能得到For循環來找到它。調試這段代碼它說變量「文件夾」的路徑,但表示該變量的filePath爲空。我很困惑,任何幫助都會很棒。文件問題Java

String path = varablePath1; 
File folder = new File(path); 

if (folder.exists()){ 
    System.out.println("got folder"); 
} 

File[] listOfFiles = folder.listFiles(); 

for (int i = 0; i < listOfFiles.length; i++) { 
    if (listOfFiles[i].isDirectory()) { 
     String FileNames = listOfFiles[i].getName(); 
     FileWriter fw1 = new FileWriter(file1, true); 
     BufferedWriter bw1 = new BufferedWriter(fw1); 
     bw1.write(FileNames); 
     bw1.newLine(); 
     bw1.close(); 
    } 
} 
+0

'file1'聲明和定義在哪裏? – meskobalazs

+1

請填寫完整的代碼請 –

+0

file1被聲明爲可擴展的主路徑之上的路徑是它不會進入for循環doe它無法獲取文件夾 – Grbe1l

回答

0

什麼關於覈查的其他部分,即:

if (folder.exists()){ 
     System.out.println("got folder"); 
    } 
    else { 

    File[] listOfFiles = folder.listFiles(); 

    for (int i = 0; i < listOfFiles.length; i++) { 
     if (listOfFiles[i].isDirectory()) { 
      String FileNames = listOfFiles[i].getName(); 
      FileWriter fw1 = new FileWriter(file1, true); 
      BufferedWriter bw1 = new BufferedWriter(fw1); 
      bw1.write(FileNames); 
      bw1.newLine(); 
      bw1.close(); 
     } 
    } 
} 
+0

我希望它進入該文件夾,如果它存在,所以我試圖如果(!(folder.exists)){這裏的東西}但沒有區別 – Grbe1l

+0

嘗試給文件1的完整路徑 – hermit

0

,您可以檢查文件夾和文件格式的代碼,如果文件夾,然後得到的文件夾列表,並編寫使用BufferedWriter。它工作正常。請檢查是否有更新需要。

public class Check { 
public static void main(String args[]) throws IOException { 
    File f = null; 
    String path = "/home/ananddw"; 
    f = new File(path); 

    if (f.isDirectory()) { 
     System.out.println("if"); 
     File[] ss = f.listFiles(); 
     for (File file : ss) { 
      if (file.isFile()) { 
       String FileFinalName = file.getName(); 
       System.out.println(file.getName()); 

       FileWriter fw1 = new FileWriter(file, true); 
       BufferedWriter bw1 = new BufferedWriter(fw1); 
       bw1.write(FileFinalName); 
       bw1.newLine(); 
       bw1.close(); 
      } 
     } 
    } else if (f.isFile()) { 
     System.out.println("elkse"); 

    } 

} 
}