Wednesday, March 4, 2020

How to load file(s) in the same directory

The code below demonstrates how to load file(s), eg configuration, properties in the same directory with the jar file or the running class file.


try {
    File jarLoc = new File(
                        MyClass.class.getProtectionDomain()
                        .getCodeSource().getLocation().toURI().getPath());

    if(!jarLoc.isDirectory()) {
        // if this is a jar file, the full path with jar name returned. 
        currentPath = jarLoc.getParentFile().getPath();
    } else {
        // if this is a class file, full path until the parent directory
        currentPath = jarLoc.getPath();
    }

    String pathToFile = "currentPath + fileName.fileExtension";

} catch (URISyntaxException e) {
    e.printStackTrace();
}


The code below demonstrates how to load file's content in the jar file or in the classpath.

        InputStream in = getClass().getResourceAsStream(path);
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line = null;
        String content = "";
        while ((line = reader.readLine()) != null) {
            content += line;
        }

OR

new String(Files.readAllBytes(Paths.get(path)))




Done!!

4 comments:

  1. Amazing performance out of small business web design and development web in addition to support!

    ReplyDelete
  2. They had a strong understanding of the project needs and delivered great work
    logo designing services

    ReplyDelete
  3. The team supplies valuable advice for improvements, demonstrates initiative in problem-solving, and always delivers in a timely and cost-effective manner.
    brand building firm

    ReplyDelete
  4. This short article posted only at the web site is truly good.
    San Francisco branding agencies

    ReplyDelete

LinkWithin

Related Posts Plugin for WordPress, Blogger...