J
Java-разработчик
@iamjavadev17 подп.
24просмотров
19 января 2026 г.
provocationScore: 26
🗂 Files API: перестаньте использовать java.io.File! С Java 7 (2011 год!) у нас есть современный java.nio.file.Path. Но до сих пор многие используют устаревший File. Почему Path лучше: 1. Работает с любыми файловыми системами (ZIP, FTP, память) 2. Более безопасные пути (защита от Path Traversal) 3. Удобные утилитные методы в Files 🚫 Плохо: File file = new File("data.txt"); if (file.exists()) { // ГОНКА! Файл может быть удалён между exists() и чтением BufferedReader br = new BufferedReader(new FileReader(file)); } ✔️ Хорошо: Path path = Paths.get("data.txt"); // Одной операцией List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8); // Или с обработкой больших файлов try (Stream<String> stream = Files.lines(path)) { stream.filter(line -> !line.startsWith("#")) .forEach(System.out::println); } // Безопасное создание пути Path safePath = basePath.resolve("subdir").normalize(); if (!safePath.startsWith(basePath)) { throw new SecurityException("Попытка обхода пути!"); } ✨ Особенно полезно: ✈️ Files.walk() — обход дерева каталогов ✈️ Files.createTempDirectory() — безопасные временные файлы ✈️ Files.getAttribute() — метаданные без создания объекта 💱 Миграция: File oldFile = new File("data.txt"); Path newPath = oldFile.toPath(); // Легко конвертировать 📌 Итог: java.nio.file — более безопасный, мощный и современный API. Время переходить с java.io.File! ✈️Подписаться: @iamjavadev #nio #files #безопасность #современнаяjava
24
просмотров
1488
символов
Да
эмодзи
Нет
медиа

Другие посты @iamjavadev

Все посты канала →
🗂 Files API: перестаньте использовать java.io.File! С Java — @iamjavadev | PostSniper