Nodejs đọc và ghi từng dòng tệp
Ví dụứng dụng. js
Cách sử dụng
Việc thêm vào tệp rất tiện lợi khi bạn không muốn ghi đè lên tệp bằng nội dung mới mà muốn thêm vào tệp đó ví dụMột phương pháp hữu ích để nối nội dung vào cuối tệp là 4 (và đối tác của nó là 5) Trong Khoa học máy tính, tệp là tài nguyên được sử dụng để ghi dữ liệu một cách riêng biệt trong thiết bị lưu trữ của máy tính. Nút. js không ghi đè điều này theo bất kỳ cách nào và hoạt động với mọi thứ được coi là tệp trong hệ thống tệp của bạn Đọc tệp và tài nguyên có nhiều cách sử dụng
Đôi khi, những tệp này có thể lớn một cách vô lý, với hàng gigabyte hoặc terabyte được lưu trữ và việc đọc toàn bộ chúng là không hiệu quả Khả năng đọc từng dòng tệp cho chúng tôi khả năng chỉ tìm kiếm thông tin có liên quan và dừng tìm kiếm khi chúng tôi đã tìm thấy những gì chúng tôi đang tìm kiếm. Nó cũng cho phép chúng tôi chia dữ liệu thành các phần hợp lý, chẳng hạn như nếu tệp có định dạng CSV Readline (từ v0. 12 trở lên)Nút. js có mô-đun gốc để đọc các tệp cho phép chúng tôi đọc từng dòng. Nó đã được thêm vào năm 2015 và được dùng để đọc từ bất kỳ dòng 2 nào mỗi lần một dòngThực tế này làm cho nó trở thành một tùy chọn linh hoạt, không chỉ phù hợp với các tệp mà còn phù hợp với cả các đầu vào dòng lệnh như 3. Tài liệu về mô-đun 4 có thể được tìm thấy tại đâyVì 4 là một mô-đun gốc. Bạn không cần phải sử dụng 6 cho bất kỳ trình quản lý gói nào khác để thêm nó, chỉ cần 7
và bạn tốt để đi Vì phương thức 4 phải được cung cấp cùng với một luồng, trước tiên chúng tôi phải tạo nó bằng cách sử dụng một mô-đun gốc khác - 9
Bước tiếp theo là tạo đối tượng sẽ đọc từ luồng bằng hàm 30 3 Đảm bảo rằng bạn thay thế 31 bằng đường dẫn thực tới một tệp trong hệ thống tệp của bạn Khi quá trình chuẩn bị hoàn tất - việc đọc từng dòng tệp và in nội dung của nó ra bảng điều khiển có thể được thực hiện bằng cách 6 Về cơ bản, ở đây chúng ta đang nói rằng bất cứ khi nào sự kiện 32 xảy ra trong 33, nó sẽ gọi hàm của chúng ta và truyền cho nó nội dung được đọc từ luồng. Trong trường hợp của chúng tôi, chúng tôi không muốn phức tạp hóa mọi thứ và chỉ cần in nó ra bàn điều khiển đầu đọc dòngSau phần giải thích chi tiết về cách bạn có thể đọc từng dòng tệp bằng nút gốc. js, hãy xem phiên bản ngắn hơn của nó bằng cách sử dụng mô-đun trình đọc dòng nguồn mở từ npm Vì đây là một mô-đun không phải bản địa, chúng tôi cần đảm bảo rằng chúng tôi đã khởi tạo dự án npm theo cách phù hợp với 34 và sau đó cài đặt nó 0 Điều này sẽ cài đặt phần phụ thuộc và thêm nó vào tệp 35 Sau khi hoàn tất, việc đọc từng dòng một tệp chỉ tương tự như ví dụ trước mà không cần tạo 33 ở giữa Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó 3 Một tính năng khá hữu ích ở đây là dừng đọc khi một số điều kiện trở thành sự thật. Điều này đạt được bằng cách trả lại 37 từ chức năng gọi lại Ví dụ: chúng tôi có thể đọc từng dòng một tệp cho đến khi chúng tôi tìm thấy một dòng có từ "STOP" trong đó Có một cách tiếp cận hơi khác, sử dụng hai lệnh gọi lại lồng nhau và cú pháp có vẻ tự nhiên hơn đối với các nhà phát triển Java ngoài kia 5 Ở đây, chúng tôi đang sử dụng chức năng 38, chức năng này không cung cấp cho chúng tôi các dòng từ một tệp ngay lập tức, nhưng nó cung cấp cho chúng tôi một 39. Nó có bộ chức năng riêng như 60 và 61 cho phép chúng tôi kiểm soát nhiều hơn một chút đối với quá trình đọc từng dòng tệp trong Node. js N-readlinesMột cú pháp khác được cung cấp bởi mô-đun npm 62 Hãy cài đặt nó 1Và yêu cầu nó 2Để có thể đọc từ một tệp, chúng ta nên tạo một đối tượng mới, cung cấp đường dẫn đến tệp của chúng tôi làm đối số 3Việc lấy các dòng từ tệp được thực hiện bằng cách gọi hàm 63 0Một chức năng thú vị của mô-đun 62 là 65. Nó đặt lại con trỏ và bắt đầu quá trình đọc từ đầu tệp Ghi chú. Nó chỉ hoạt động nếu không đạt được kết thúc Lỗi thường gặpMột lỗi phổ biến khi đọc từng dòng tệp trong Node. js đang đọc toàn bộ tệp vào bộ nhớ và sau đó chia nhỏ nội dung của nó bằng cách ngắt dòng Đây là một ví dụ không chính xác có thể làm quá tải hệ thống của bạn nếu bạn cung cấp cho nó một tệp đủ lớn 1Thoạt nhìn, có vẻ như đầu ra giống nhau đối với phương pháp này cũng như đối với các phương pháp trước đó và trên thực tế, nó hoạt động tốt đối với các tệp nhỏ. Nhưng hãy tiếp tục và thử làm việc với một công ty lớn. Đó chắc chắn không phải là thứ bạn muốn thấy trong hệ thống sản xuất của mình Phần kết luậnCó nhiều cách để đọc từng dòng tệp trong Node. js và việc lựa chọn cách tiếp cận phù hợp hoàn toàn là quyết định của lập trình viên Bạn nên nghĩ đến kích thước của các tệp bạn định xử lý, các yêu cầu về hiệu suất, kiểu mã và các mô-đun đã có trong dự án. Đảm bảo kiểm tra một số trường hợp góc như tệp lớn, trống hoặc không tồn tại và bạn sẽ thấy ổn với bất kỳ ví dụ nào được cung cấp |