Đọc toàn nội dung và đọc từng dòng trong file với java 8

Một sự cải tiến vượt bậc trong hành vi đọc ghi file của java 8 so với các thời java tiền nhiệm trước (Rất dài dòng và rườm rà). Dùng Stream để lưu luồng và xử lý. (Lambda)

Mình đã giải thích rất rõ ràng trong code rồi, các bạn xem code nhé.

1- Đọc toàn bộ nội dung của file.

  import java.io.IOException;  import java.nio.charset.StandardCharsets;  import java.nio.file.Files;  import java.nio.file.Paths;    /**   * @author khiemnd5   *Email:[email protected]   *   * Apr 17, 2016   */    /*  Nội dung file text.txt:    Welcome my blog Khiem Nguyen Dang  Hello  Hava a nice day  Xin chào mình là Nguyễn Đăng Khiêm    => Java 8 sẽ đọc toàn nội dung của file và in nội dung đó ra.   */  public class ReadFromFileJava8 {
        public static void readFile() throws IOException{
          String fileName = "/users/khiemnd5/text.txt";//bạn hãy thay đổi đường dẫn tới file của bạn          String content = new String(Files.readAllBytes(Paths.get(fileName)),                  StandardCharsets.UTF_8);//đưa về chuẩn utf-8          System.out.println(content);      
}      public static void main(String[] args) throws IOException {
          readFile();      
}  
} 

Kết quả:

c8f8c9bafa3c96c42444191482886a6497429f3f1- Đọc từng dòng trong file.

  import java.nio.charset.StandardCharsets;  import java.nio.file.Files;  import java.nio.file.Paths;  import java.util.stream.Stream;    /**   * @author khiemnd5   *Email:[email protected]   *   * Apr 17, 2016   */    /*  Nội dung file text.txt:    Welcome my blog Khiem Nguyen Dang  Hello  Hava a nice day  Xin chào mình là Nguyễn Đăng Khiêm    => Java 8 sẽ đọc từng dòng trong file và in ra nội dung từng file thông qua stream là một điểm mới trong java 8(Lambada).   */  public class ReadFromFileJava8 {
        public static void readFile(){
          String fileName = "/users/khiemnd5/text.txt";//bạn hãy thay đổi đường dẫn tới file của bạn 
//     int []i ={
0
};//i là biến đếm xem chúng ta đã in tới dòng nào          try(Stream
<String> stream = Files.lines(Paths.get(fileName),StandardCharsets.UTF_8)){
//đưa về dạng chuẩn utf8              stream.forEach(line ->{
                  //line là từng dòng trong file, tại đây bạn có thể tương tác với nội dung của file. Ở đây, mình chỉ in ra nội dung của từng dòng   
//             System.out.println(line +" is number line "+ i[0]++);//in ra cả nội dung file và dòng thứ mấy ta vừa in, bắt đầu từ 0                  System.out.println(line);              
});          
} catch (Exception e) {
              e.printStackTrace();          
}      
}      public static void main(String[] args) {
          readFile();      
}  
} 

Kết quả:

7cc0c9d29d454ebcd7b1ebf55a6be2e1f6779c95

Tags: , ,

Leave a Reply

avatar
  Subscribe  
Notify of