آموزش خواندن فایل txt در جاوا
سلام دوستان امیداوارم سلامت باشید در این سری از آموزش برنامه نویسی جاوا به آموزش خواندن فایل txt در جاوا می پردازیم برای اینکه یک فایل txt را بخوانیم شاید روش های مختلفی وجود داشته باشد ولی استفاده از روش درست و بهینه برای خواندن فایل txt استفاده کرد در ادامه با ما همراه باشید.
ما چندین راه را برای خواندن فایل در ادامه معرفی می کنیم.
یک کلاس به نام TestReadFile.java ایجاد می کنیم و کدهای زیر را در آن قرا میدهیم این کد در جاوا 8 کار خواهد کرد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package ir.programchi; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.stream.Stream; public class TestReadFile { public static void main(String args[]) { String fileName = "c://lines.txt"; //read file into stream, try-with-resources try (Stream<String> stream = Files.lines(Paths.get(fileName))) { stream.forEach(System.out::println); } catch (IOException e) { e.printStackTrace(); } } } |
قبل از اینکه کد بالا را اجرا کنید یک فایل به نام lines.txt در پوشه C ایجاد کنید و یکسری داده sample همانند زیر در آن قرار دهید.
1 2 3 4 5 6 7 | programchi.ir line1 line2 line3 line4 line5 programchi.com |
خواندن فایل txt با استفاده از Stream و Extera در جاوا
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class TestReadFile2 { public static void main(String args[]) { String fileName = "c://lines.txt"; List<String> list = new ArrayList<>(); try (Stream<String> stream = Files.lines(Paths.get(fileName))) { list = stream .filter(line -> !line.startsWith("line3")) .map(String::toUpperCase) .collect(Collectors.toList()); } catch (IOException e) { e.printStackTrace(); } list.forEach(System.out::println); } } |
کد بالا ابتدا عمل فیلتر را انجام میدهد سپس همی محتوا را به UpperCase تبدیل می کند و در نهایت آن را به List تبدیل می کند. (جاوا 8 واقعا عالیه !)
امکان خواندن فایل نیز در ورژن های قدیمی جاوا با استفاده از BufferReader می تواند انجام گیرد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package ir.programchi; import java.io.BufferedReader; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class TestReadFile3{ public static void main(String args[]) { String fileName = "c://lines.txt"; List<String> list = new ArrayList<>(); try (BufferedReader br = Files.newBufferedReader(Paths.get(fileName))) { list = br.lines().collect(Collectors.toList()); } catch (IOException e) { e.printStackTrace(); } list.forEach(System.out::println); } } |
خواندن فایل txt با استفاده Scanner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package ir.programchi; import java.io.File; import java.io.IOException; import java.util.Scanner; public class TestReadFile5 { public static void main(String args[]) { String fileName = "c://lines.txt"; try (Scanner scanner = new Scanner(new File(fileName))) { while (scanner.hasNext()){ System.out.println(scanner.nextLine()); } } catch (IOException e) { e.printStackTrace(); } } } |
موفق باشید.
یک پاسخ به “آموزش خواندن فایل txt در جاوا”