簡體   English   中英

如何在src / main / resources中創建文件

[英]How to create a file in src/main/resources

如果我這樣做

fis = new FileInputStream(new File(".").getAbsolutePath() + "/sudoinput.txt");

它試圖寫入服務器上的該位置。 我不確定這是否是可寫的地方。

FILE NAME (fos)::::::::::::::::::/opt/tomcat/temp/./sudoinput.txt
FILE NAME (fis)::::::::::::::::::/opt/tomcat/temp/./sudoinput.txt

我想寫webapps / sudoku / WEB-INF / classes,基本上是C:\\ Users ... \\ git \\ sudo-project \\ sudo \\ src \\ main \\ resources

在Eclipse Windows 7上,如果給出以下錯誤,則出現此錯誤src \\ main \\ resources \\ sudoinput.txt(系統找不到指定的路徑)

fis = new FileInputStream("src/main/resources/sudoinput.txt");

我也嘗試過這個:

fis = new FileInputStream("src\\main\\resources\\sudoinput.txt");

但不起作用。

我應該如何創建一個fileinputstream以便能夠寫入src / main / resources? 請注意,我正在使用eclipse窗口進行開發,如果更改了需要指定路徑的方式,則將.war文件上傳到UNIX服務器上。

src/main/resources文件夾是應該包含資源,為應用程序的文件夾。 如前所述,maven將這些文件打包到文件的根目錄,以便您可以在庫中訪問它們。

看看有關標准目錄布局Maven文檔

在某些情況下,可以寫上下文,但是嘗試它不是一個好主意。 根據webapp的部署方式,您可能無法寫入該目錄。 考慮部署.war存檔時的情況。 這意味着您嘗試寫入戰爭檔案,而這將是不可能的。

一個更好的主意是使用一個臨時文件 這樣,無論Web應用程序的部署方式如何,您都可以確保它可以正常工作。

同意Sandiip Patil。 如果您的資源中沒有文件夾,則路徑將為/sudoinput.txt或文件夾/folder_name/sudoinput.txt. 為了從資源獲取文件,您應該使用YourClass.class.getResource("/filename.txt");

例如

Scanner scanner = new Scanner(TestStats.class.getResourceAsStream("/123.txt"));

要么

Scanner scanner = new Scanner(new `FileInputStream(TestStats.class.getResource("/123.txt").getPath()));`

另外看看: 這個

您可以保留在資源下創建的文件,然后調用.class.getresource(your_file_name_or_path_separated_with_forward_slash);

看看是否適合您。

如果您想在webapps/sudoku/WEB-INF/classes中創建文件,而該文件最終位於已創建的WAR文件中,則可以通過將所需文件放入src/main/resources/來實現,這意味着您需要創建文件夾src/main/resources並將所需的文件放入此目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM