正在加载...

Java 中的路径

用 Paths.get 构建 Path,在尚未打开文件时就能命名位置。打开 Route.java,调用 Paths.get("note.txt") 并打印 getFileName()。用 javac Route.java 编译并运行 java Route。屏幕应显示 note.txt。第二个演示把 "docs" 与 "note.txt" 连接,先打印文件名再打印父文件夹。第三个演示打印整条连接路径。把 inheritance 留到下一页。

命名一个文件片段

写入页用 FileWriter 和 "note.txt" 保存字符。本页把这种名字变成可查询的 Path。打开 Route.java。保持公共类名 Route。删除残留的 Store 写入演示、Reader 扫描器、Signal 抛出和键盘 Scanner。程序不应等待输入。这些演示不必在磁盘上创建 note.txt。
在上方保留:
import java.nio.file.Path;
import java.nio.file.Paths;
在 main 里用一个名字构建路径:
Path p = Paths.get("note.txt");
只打印最后一段:
System.out.println(p.getFileName());
getFileName 返回显示为 note.txt 的 Path。你不写 tea,也不读 oak——你在命名。

Route getFileName note.txt

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("note.txt");
        System.out.println(p.getFileName());
    }
}

在存放 Route.java 的目录运行 javac Route.java。然后 java Route,不要 java Route.java。找不到 Path 或 Paths 就检查 import。
屏幕显示 note.txt。不要等待键盘。终端空白:可能还在跑没有 println 的 java Store。看到 tea 或 oak 说明读写混入了本课。blocked 或 after 是 Guard 残留。
流程:Route.main,Paths.get("note.txt"),getFileName,println。磁盘上什么也不打开。

连接文件夹名与文件名

第二个程序用 docs 和 note.txt 两段构建路径。先打印文件名,再打印 getParent。

Route docs plus note.txt name and parent

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p.getFileName());
        System.out.println(p.getParent());
    }
}

用 javac Route.java 编译再 java Route。第一行 note.txt。第二行 docs。getFileName 仍是最后一段。getParent 是上面的文件夹。不要互换含义。
多个字符串时 Paths.get 按顺序拼接。这里不必手写分隔符。路径本身不会创建文件夹或文件。命名与读写分开。
只有 "note.txt" 时 getParent 可能是 null。两段演示会清楚显示 docs。

打印整条连接路径

第三个程序保留 Paths.get("docs", "note.txt") 并打印路径对象本身。

Route print joined path

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p);
    }
}

再次编译运行。屏幕显示连接后的路径——常见 docs\note.txt 或 docs/note.txt。重点是拼接,不是背某个斜杠。若要单独片段,用 getFileName 和 getParent。
本页不要编造 inheritance。下一页用 extends 开始继承。不要把 FileWriter 贴进 Route.java。Store、Reader、Route 各自独立。

与 Store 和 Reader 对比

java Store 向 note.txt 写入。java Reader 从磁盘读取。java Route 只用 Path 和 Paths.get 命名。这些演示请运行 java Route。
新关键字:Paths.get、getFileName、getParent。导入 java.nio.file.Path 和 java.nio.file.Paths。不需要 FileWriter 或 Scanner。

为 inheritance 留下什么

本页命名路径。下一页开始 inheritance。继续练 Paths.get 与文件名、父路径的区分。Route 演示尚不要求 extends。

inheritance 之前

你可以构建 Paths.get("note.txt") 并用 getFileName 看到 note.txt。可以连接 "docs" 与 "note.txt",看到 note.txt 再看到父路径 docs。可以把整条路径打印成一行。每个演示都 javac Route.java 再 java Route。下一页是 inheritance。
若在两行父路径演示上 java Route 显示 note.txt 和 docs,本课路径已完成,可以进入 inheritance。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部