In your Java project, you encounter an error when attempting to access a text file from a specified relative path. This error arises from the inability of the java.io.File class to locate the designated path.
To address this issue, it is recommended to retrieve the file from the classpath instead of relying on the file system. By doing so, you eliminate the need for relative paths and ensure that the file is obtained regardless of the current working directory.
Assuming that the ListStopWords.txt file resides in the same package as the FileLoader class, the following code demonstrates how to obtain the file from the classpath:
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
Alternatively, if your sole purpose is to acquire an InputStream for the file, you can utilize the following:
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
This approach is preferred as it accommodates various file system representations, including virtual file systems and network paths.
Moreover, if the file is a properties file containing key-value pairs, you can directly load it from the InputStream:
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
Please note that if you are accessing the file from within a static context, you should replace getClass() with YourClass.class (where YourClass represents the name of your class).
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3