簡體   English   中英

Java-netbeans 8.1:無法識別的文件?

[英]Java-netbeans 8.1: Unrecognized file?

因此,我開發了一個Java應用程序並嘗試讀取文件,我得到一條錯誤消息,提示文件configuration.txt不存在。

這是文件讀取代碼:

    public static void main(String[] args) throws FileNotFoundException {

    //reading configuration file
    Scanner readConfigurationFile = new Scanner(new File("configuration.txt"));

是的,我確實包含了導入的必要IO庫和實用程序。

我將文件移動到了所有位置(在程序包中,項目文件夾中或bin文件夾中,等等。)並進行了測試,但沒有成功。

唯一有效的方法是將其移至桌面,然后在代碼中將文件的路徑放在桌面上(因此C:\\ User \\ .... \\ configuration.txt)

但這不是我想要的,因為其他人必須在不更改代碼的情況下運行它。

有什么建議/幫助嗎? 我在網上到處都看過,嘗試過不同的方法,但是它們沒有用。 有些會使我的代碼復雜化,所以我避免了。

提前致謝

如果您的配置文件旨在駐留在應用程序內部(它將部署在jar或war中), 則不應將其用作File而是用作Resource

假設其相對路徑為org/example/files/configuration.txt (*)。 您可以通過以下方式使用它:

InputStream is = getClass().getClassLoader().loadRessourceAsStream(
    "org/example/files/configuration.txt");
Scanner readConfigurationFile = new Scanner(is);

(*),這可能是src/main/resources/org/...如果你用maven,或src/org/...如果你使用ant或偏食notive編譯器。

如果將其放在包文件夾中,則需要相對路徑。

以這種結構為例

  • src
    • 主要
      • 爪哇
        • com
            • Main.java
            • configuration.txt

您將訪問它

new File("src/main/java/com/example/configuration.txt");

即使您從Main.java訪問它

暫無
暫無

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

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