Files and Paths
Path Join
Path.of joins path segments without hard-coding the platform separator.
path segment
A path segment is one named part of a path, such as a directory name or file name.
joined path
Joining segments lets Java choose the correct separator for the current system.
Path Join
PathJoin.java
Replay: real traced execution (multi-file project)
import java.nio.file.Path;
public class PathJoin {
public static void main(String[] args) {
int lesson = 1;
String fileName = "lesson" + lesson + ".txt";
Path path = Path.of("java", "files", fileName);
System.out.println("parent=" + path.getParent());
System.out.println("file=" + path.getFileName());
}
}
import java.nio.file.Path;
public class PathJoin {
public static void main(String[] args) {
int lesson = 2;
String fileName = "lesson" + lesson + ".txt";
Path path = Path.of("java", "files", fileName);
System.out.println("parent=" + path.getParent());
System.out.println("file=" + path.getFileName());
}
}
import java.nio.file.Path;
public class PathJoin {
public static void main(String[] args) {
int lesson = 3;
String fileName = "lesson" + lesson + ".txt";
Path path = Path.of("java", "files", fileName);
System.out.println("parent=" + path.getParent());
System.out.println("file=" + path.getFileName());
}
}
lesson ← 1, fileName ← lesson1.txt, path ← java/files/lesson1.txt
3public class PathJoin {4 public static void main(String[] args) {5 int lesson→ 1 = 1; //@lesson=2, 36 String fileName→ lesson1.txt = "lesson" + lesson1 + ".txt";7 Path path→ java/files/lesson1.txt = Path.of("java", "files", fileNamelesson1.txt);89 System.out.println("parent=" + path.getParent());10 System.out.println("file=" + path.getFileName());11 }outputparent=java/files file=lesson1.txt
lesson ← 2, fileName ← lesson2.txt, path ← java/files/lesson2.txt
3public class PathJoin {4 public static void main(String[] args) {5 int lesson→ 2 = 2;6 String fileName→ lesson2.txt = "lesson" + lesson2 + ".txt";7 Path path→ java/files/lesson2.txt = Path.of("java", "files", fileNamelesson2.txt);89 System.out.println("parent=" + path.getParent());10 System.out.println("file=" + path.getFileName());11 }outputparent=java/files file=lesson2.txt
lesson ← 3, fileName ← lesson3.txt, path ← java/files/lesson3.txt
3public class PathJoin {4 public static void main(String[] args) {5 int lesson→ 3 = 3;6 String fileName→ lesson3.txt = "lesson" + lesson3 + ".txt";7 Path path→ java/files/lesson3.txt = Path.of("java", "files", fileNamelesson3.txt);89 System.out.println("parent=" + path.getParent());10 System.out.println("file=" + path.getFileName());11 }outputparent=java/files file=lesson3.txt