Rexx - Tệp I / O
Rexx cung cấp một số phương pháp khi làm việc với I / O. Rexx cung cấp các lớp dễ dàng hơn để cung cấp các chức năng sau cho tệp.
- Đọc tệp
- Ghi vào tệp
- Xem tệp là tệp hay thư mục
Các chức năng có sẵn trong Rexx cho I / O Tệp dựa trên cả đầu vào dòng và đầu vào ký tự và chúng tôi sẽ xem xét chi tiết các chức năng có sẵn cho cả hai.
Hãy cùng khám phá một số thao tác với tệp mà Rexx cung cấp. Vì mục đích của những ví dụ này, chúng tôi sẽ giả định rằng có một tệp được gọi làNewFile.txt chứa các dòng văn bản sau -
Example1
Example2
Example3
Tệp này sẽ được sử dụng cho các hoạt động đọc và ghi trong các ví dụ sau. Ở đây chúng ta sẽ thảo luận về cách đọc nội dung trên tệp theo những cách khác nhau.
Đọc nội dung của tệp một dòng tại một thời điểm
Các hoạt động chung trên tệp được thực hiện bằng cách sử dụng các phương pháp có sẵn trong chính thư viện Rexx. Việc đọc tệp là thao tác đơn giản nhất trong tất cả các thao tác trong Rexx.
Hãy xem hàm được sử dụng để thực hiện điều này.
linein
Phương thức này trả về một dòng từ tệp văn bản. Tệp văn bản là tên tệp được cung cấp làm tham số đầu vào cho hàm.
Syntax -
linein(filename)
Parameter -
filename - Đây là tên của tệp mà từ dòng cần đọc.
Return Value - Phương thức này trả về một dòng của tệp tại một thời điểm.
Example -
/* Main program */
line_str = linein(Example.txt)
say line_str
Đoạn mã trên khá đơn giản trong thực tế là Example.txttên tệp được cung cấp cho hàm linein. Sau đó, hàm này đọc một dòng văn bản và cung cấp kết quả cho biếnline_str.
Output - Khi chạy đoạn chương trình trên ta sẽ được kết quả như sau.
Example1
Đọc nội dung của tệp cùng một lúc
Trong Rexx, việc đọc tất cả nội dung của tệp có thể đạt được với sự trợ giúp của câu lệnh while. Câu lệnh while sẽ đọc từng dòng, từng dòng một cho đến khi đạt đến cuối tệp.
Dưới đây là một ví dụ về cách đạt được điều này.
/* Main program */
do while lines(Example.txt) > 0
line_str = linein(Example.txt)
say line_str
end
Trong chương trình trên, cần lưu ý những điều sau:
Hàm dòng đọc Example.txt tập tin.
Hàm while được sử dụng để kiểm tra xem có các dòng tiếp theo trong tệp Example.txt hay không.
Đối với mỗi dòng được đọc từ tệp, line_strbiến giữ giá trị của dòng hiện tại. Điều này sau đó được gửi đến bảng điều khiển dưới dạng đầu ra.
Output - Khi chạy đoạn chương trình trên ta sẽ được kết quả như sau.
Example1
Example2
Example3
Ghi nội dung vào tệp
Cũng giống như đọc tệp, Rexx cũng có khả năng ghi vào tệp. Hãy xem hàm được sử dụng để thực hiện điều này.
dây ra
Phương thức này ghi một dòng vào tệp. Tệp mà dòng cần được ghi vào được cung cấp làm tham số cho câu lệnh lineout.
Syntax -
lineout(filename)
Parameter -
filename - Đây là tên của tệp mà từ đó dòng cần được ghi tới.
Return Value- Phương thức này trả về trạng thái của hàm lineout. Giá trị trả về là 0 nếu dòng được viết thành công, nếu không giá trị 1 sẽ được trả về.
Example -
/* Main program */
out = lineout(Example.txt,"Example4")
Output - Bất cứ khi nào đoạn mã trên được chạy, dòng “Ví dụ4” sẽ được ghi vào tệp Example.txt.