2015-04-02 53 views
1

您好,我試圖讓目錄和在目錄中的文件YAML我搜查谷歌,但我無法找到有關創建YAML文件的東西,這是什麼我已經試過:創建.yml文件-java

public static void main(String[] args) { 
    File f = new File("File"); 
    File y = new File("Test.yml"); 

    if(!y.exists()) { 
     System.out.println(f.getName()); 
     boolean works = false; 

     try{ 
      y.mkdir(); 
      works = true; 
     }catch(SecurityException e) { 
      e.printStackTrace(); 

     } 
     if(works) { 
      System.out.println("Made the directory"); 
     } 
    } 
    if(!f.exists()) { 
     System.out.println(f.getName()); 
     boolean works = false; 

     try{ 
      f.mkdir(); 
      works = true; 
     }catch(SecurityException e) { 
      e.printStackTrace(); 

     } 
     if(works) { 
      System.out.println("Made the directory"); 
     } 
    } 
} 
+1

你真的想要一個名爲Test.yml的*目錄嗎? – JonK 2015-04-02 09:04:29

+0

你想在'dir'文件中創建'Test.yml'文件嗎? – 2015-04-02 09:05:18

+1

維基百科(http://en.wikipedia.org/wiki/YAML)指出了關於YAML格式的Java實現的3個鏈接。 – GhostCat 2015-04-02 09:11:28

回答

0

也許您在尋找以下代碼:

public static void main(String[] args) { 
    File f = new File("File"); 
    File y = new File("Test.yml"); 

    if(!y.exists()) { 
     System.out.println(y.getName()); //Note the change here 
     boolean works = false; 

     try{ 
      y.createNewFile(); //and here 
      works = true; 
     }catch(SecurityException e) { 
      e.printStackTrace(); 

     } 
     if(works) { 
      System.out.println("File created"); 
     } 
    } 
    if(!f.exists()) { 
     System.out.println(f.getName()); 
     boolean works = false; 

     try{ 
      f.mkdir(); 
      works = true; 
     }catch(SecurityException e) { 
      e.printStackTrace(); 

     } 
     if(works) { 
      System.out.println("Made the directory"); 
     } 
    } 
} 

您在兩種情況下都在創建目錄。您必須撥打FilecreateNewFile()才能創建該文件。

0

在您的代碼中,您將在創建文件夾File之前創建文件Test.yml。如果文件夾不存在,首先創建文件夾,然後使用該文件夾作爲父文件創建一個文件,以便您的代碼應如下所示。

public static void main(String a[]){ 
    File f = new File("File"); 
    if(!f.exists()) { 
     System.out.println(f.getName()); 

     try{ 
      f.mkdir(); 
      System.out.println("Made the directory"); 
     }catch(SecurityException e) { 
      e.printStackTrace(); 
     } 
    } 
    File y = new File(f,"Test.yml"); 
    if(!y.exists()) { 
     System.out.println(y.getName()); 
     try{ 
      y.createNewFile(); 
      System.out.println("File Created"); 
     }catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

此外,也不需要創建打印文件/文件夾的布爾值。