Adam Bien's Weblog

Adding And Substracting Path Instances With Java

Method resolve adds Path instances and is useful to create absolute paths. The method relativize substracts Path instances and is useful to remove the root component from the absolute path:


import java.nio.file.Path;
import java.nio.file.Paths;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;


public class PathTest {

    @Test
    public void addPath() {
        Path javaFile = Paths.get("com", "airhacks", "PathsTest.java");
        Path root = Paths.get("src", "main", "java");

        Path absolute = root.resolve(javaFile);

        String expected = "src/main/java/com/airhacks/PathsTest.java";
        String actual = absolute.toString();
        assertThat(actual, is(expected));
    }

    @Test
    public void substractPath() {
        Path absolute = Paths.get("src/main/java/com/airhacks/PathsTest.java");
        Path root = Paths.get("src", "main", "java");

        Path relative = root.relativize(absolute);

	//ignoring the OS-specific separator
        String expected = "com/airhacks/PathsTest.java";
        String actual = relative.toString();
        assertThat(actual, is(expected));
    }

}


See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


NEW online workshop: WebStandards Igniter (online)

Airport MUC workshops: Java EE 7: Bootstrap, Effective, Architectures, Web, React and Angular, Testing and Microservices

Newsletter: airhacks.news

A book about rethinking Java EE Patterns

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
realworldpatterns.com
Online Workshops
...the last 150 posts
...the last 10 comments
License