TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1398 2.61K
Метод FileSystems.newFileSystem(Path) появился ещё в JDK 13 (2019), но многие до сих пор о нём не знают

Он позволяет обращаться к содержимому файла, например ZIP-архива, как к файловой системе.

Пример Java-программы:

void main() {
Path src = Path.of("/opt/jdk-24/lib/src.zip");

try (FileSystem fs = FileSystems.newFileSystem(src)) {
for (Path root : fs.getRootDirectories()) {
try (Stream<Path> walk = Files.walk(root, 1)) {
walk.sorted().forEach(IO::println);
}
}
}
}


Результат выполнения:

/
/java.base
/java.compiler
/java.datatransfer
/java.desktop
/java.instrument
/java.logging
...
/jdk.unsupported
/jdk.unsupported.desktop
/jdk.xml.dom
/jdk.zipfs


До появления этого метода нужно было использовать более сложный код с URI и явно указывать схему:

URI src = URI.create("jar:file:///opt/jdk-24/lib/src.zip");

try (FileSystem fs = FileSystems.newFileSystem(src, Map.of())) {
...
}


👉 Java Portal
  • 👍 6
  • 🔥 1
More from @java_iibrary
  1. Oct 2, 2026🚀 Spring Boot 4: переименовано свойство преобразования исключений ✅ Было: spring.dao.exce…
  2. Oct 2, 2026Процесс ≠ Поток ≠ Виртуальный поток. Эти понятия часто путают, хотя они решают разные зада…
  3. Oct 1, 2026Когда Java-стектрейс оказался длиннее контекста ИИ 👀 👉 Java Portal
  4. Oct 1, 2026Spring Boot 4: приближение срока истечения SSL-сертификатов больше не меняет статус health…
  5. Sep 30, 2026Почему один и тот же Java-файл .class запускается на Windows, Linux и macOS без перекомпил…
  6. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →