2017-10-09 134 views
0

我編寫了下面的代碼,以便將xml輸出寫入Tomcat服務器中的文件。當我運行代碼時,出現以下錯誤。我可以知道我的代碼中有什麼問題嗎?提前致謝。它應該創建一個名爲test的目錄,然後在我的服務器中指定的路徑中創建文件test.xml。但是,這是不是做這樣做,而是它在我的本地機器尋找一個路徑無法將文件寫入服務器

java.io.FileNotFounException:C:\測試\的test.xml該系統找不到指定的路徑

// write the content into xml file 
       TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
       Transformer transformer = transformerFactory.newTransformer(); 
       DOMSource source = new DOMSource(doc); 

       StreamResult result = new StreamResult(new File("/test/test.xml")); 
       transformer.transform(source, result); 

       // Output to console for testing 
       StreamResult consoleResult = new StreamResult(System.out); 
       transformer.transform(source, consoleResult); 
+0

你的c盤的根目錄下有一個/ tmp目錄嗎? –

+0

不,我想讓它寫入我的Tomcat文件夾,該文件夾有一個tmp目錄 – James

+0

[在tomcat上保存臨時文件的最佳實踐?](https://stackoverflow.com/questions/23775620/best-practice-to -save-temp-files-on-tomcat)這應該告訴你你需要知道的一切。 –

回答

1

默認情況下,Tomcat將系統屬性java.io.tmpdir設置爲其tmp目錄。所以下面這段代碼應該創建一個指向Tomcat文件的File對象tmp:

String tempDir = System.getProperty("java.io.tmpdir"); 
File outputFile = new File(tempDir, "test.xml"); 
+0

如果我想保存它以在Tomcat中創建其他目錄,然後將該文件保存在該目錄中,那麼我應該做什麼 – James

+0

您可以在'webapps'中計算相對於應用程序文件夾的文件位置:https:// stackoverflow .com/questions/3632608/tomcat-actual-path-for-new-file-creation –

+0

雖然我不會推薦這樣做。可以使用CATALINA_BASE中的引擎和運行時配置中的引擎以及CATALINA_HOME中的文件啓動Tomcat。所以細節可能會有所不同。任何帶永久本地文件存儲的解決方案都不可移植(例如,當您有多個Tomcat實例負載平衡時) –