पाठ 14 / 38
NIO.2 फ़ाइल I/O
Path और Files हेल्पर क्लास से आधुनिक तरीक़े से फ़ाइलें संभालें — readString, lines एक लेज़ी Stream के रूप में, walk, copy — सब try-with-resources के भीतर।
Path और Files
Path स्थान दर्शाता है; Files में readString, lines, walk, copy जैसे स्टैटिक ऑपरेशन हैं।
Path p = Path.of("data", "log.txt");
try (Stream<String> lines = Files.lines(p)) {
long errors = lines.filter(l -> l.contains("ERROR")).count();
}डायरेक्टरी ट्री पर walk करना
Files.walk पूरे उपवृक्ष पर एक लेज़ी Stream<Path> लौटाता है — सामान्य स्ट्रीम ऑपरेशन के साथ उपयोग करें, और हमेशा बंद करें क्योंकि यह डायरेक्टरी हैंडल खुला रखता है।
try (Stream<Path> paths = Files.walk(Path.of("src"))) {
long javaFiles = paths
.filter(p -> p.toString().endsWith(".java"))
.count();
}