2013-12-20 111 views
2

我有一個方法哪裏保存的文件去的java

public void save(String filename) 
{ 
    try 
    { 
     BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filename))); 

     for(Track item : thePlayList) 
     { 
      item.save(bw); 
     } 
     bw.close(); 
    } 
    catch (Exception e) 
    { 
     System.out.println("couldn't save M3U file " + filename);     
    } 

,我有這個的主要方法,我想知道哪裏保存的文件去?如果沒有,那麼如何將文件保存在特定的文件夾中。

combine.save("combined"); 
+0

默認情況下,它會保存在您運行程序的文件夾中。您可以通過在文件名中包含文件夾路徑來指定它。例如'String filename =「D:/document/filename.txt」;' – Baby

+0

我不知道。 「音軌#保存」看起來像什麼?它似乎**它會將它保存在任何「filename」指向的地方,但我不能完全確定。 – Makoto

回答

3

當沒有指定路徑時,Java將把文件寫入working directory。你總是可以判斷他是有這樣的事情

File file = new File(filename); 
System.out.println(file.getCanonicalPath()); // <-- should print the full path to the file 
BufferedWriter bw = new BufferedWriter(new FileWriter(file)); 

,當你打電話給你的方法,例如,你也可以指定一個完整路徑 -

combine.save("C:/combined"); // <-- or C:\\combined 

或相對路徑,例如 -

combine.save("./output/combined"); // <-- or ../output/combined 
3

該文件將應用程序的執行上下文中被保存 - 換句話說,你運行它的目錄...

例如...

如果運行程序從C:\MyJavaProgram,那麼它將被保存在這個目錄下