Rexx - ไฟล์ I / O
Rexx มีวิธีการมากมายเมื่อทำงานกับ I / O Rexx จัดเตรียมคลาสที่ง่ายกว่าเพื่อจัดเตรียมฟังก์ชันต่อไปนี้สำหรับไฟล์
- การอ่านไฟล์
- การเขียนไฟล์
- ดูว่าไฟล์เป็นไฟล์หรือไดเร็กทอรี
ฟังก์ชั่นที่มีอยู่ใน Rexx สำหรับ File I / O นั้นขึ้นอยู่กับทั้งอินพุตบรรทัดและอินพุตอักขระและเราจะดูฟังก์ชั่นที่มีให้สำหรับทั้งสองอย่างโดยละเอียด
ลองสำรวจการทำงานของไฟล์ที่ Rexx มีให้ สำหรับวัตถุประสงค์ของตัวอย่างเหล่านี้เราจะสมมติว่ามีไฟล์ที่เรียกว่าNewFile.txt ซึ่งประกอบด้วยบรรทัดข้อความต่อไปนี้ -
Example1
Example2
Example3
ไฟล์นี้จะใช้สำหรับการดำเนินการอ่านและเขียนในตัวอย่างต่อไปนี้ ในที่นี้เราจะพูดถึงวิธีการอ่านเนื้อหาในไฟล์ด้วยวิธีต่างๆ
การอ่านเนื้อหาของไฟล์ทีละบรรทัด
การดำเนินการทั่วไปกับไฟล์จะดำเนินการโดยใช้วิธีการที่มีอยู่ในไลบรารี Rexx เอง การอ่านไฟล์เป็นวิธีการที่ง่ายที่สุดใน Rexx
ลองดูฟังก์ชั่นที่ใช้ในการทำสิ่งนี้
เข้าแถว
วิธีนี้ส่งคืนบรรทัดจากไฟล์ข้อความ ไฟล์ข้อความคือชื่อไฟล์ที่จัดเตรียมไว้เป็นพารามิเตอร์อินพุตของฟังก์ชัน
Syntax -
linein(filename)
Parameter -
filename - นี่คือชื่อของไฟล์ที่ต้องอ่านบรรทัด
Return Value - วิธีนี้ส่งคืนไฟล์ทีละบรรทัด
Example -
/* Main program */
line_str = linein(Example.txt)
say line_str
รหัสข้างต้นค่อนข้างง่ายในความจริงที่ว่า Example.txtชื่อไฟล์ถูกระบุให้กับฟังก์ชัน linein จากนั้นฟังก์ชันนี้จะอ่านบรรทัดของข้อความและให้ผลลัพธ์แก่ตัวแปรline_str.
Output - เมื่อเราเรียกใช้โปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้
Example1
การอ่านเนื้อหาของไฟล์ในครั้งเดียว
ใน Rexx การอ่านเนื้อหาทั้งหมดของไฟล์สามารถทำได้ด้วยความช่วยเหลือของคำสั่ง while คำสั่ง while จะอ่านแต่ละบรรทัดทีละบรรทัดจนกว่าจะถึงจุดสิ้นสุดของไฟล์
ตัวอย่างวิธีการนี้สามารถทำได้ดังแสดงด้านล่าง
/* Main program */
do while lines(Example.txt) > 0
line_str = linein(Example.txt)
say line_str
end
ในโปรแกรมข้างต้นต้องสังเกตสิ่งต่อไปนี้ -
ฟังก์ชันเส้นจะอ่านไฟล์ Example.txt ไฟล์.
ฟังก์ชัน while ใช้เพื่อตรวจสอบว่ามีบรรทัดเพิ่มเติมในไฟล์ Example.txt หรือไม่
สำหรับแต่ละบรรทัดที่อ่านจากไฟล์ไฟล์ line_strตัวแปรเก็บค่าของบรรทัดปัจจุบัน จากนั้นจะส่งไปยังคอนโซลเป็นเอาต์พุต
Output - เมื่อเราเรียกใช้โปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้
Example1
Example2
Example3
การเขียนเนื้อหาลงในไฟล์
เช่นเดียวกับการอ่านไฟล์ Rexx ยังมีความสามารถในการเขียนลงไฟล์ ลองดูฟังก์ชั่นที่ใช้ในการทำสิ่งนี้
ผู้เล่นตัวจริง
วิธีนี้เขียนบรรทัดลงในไฟล์ ไฟล์ที่ต้องเขียนบรรทัดนั้นถูกจัดเตรียมไว้เป็นพารามิเตอร์ของคำสั่ง lineout
Syntax -
lineout(filename)
Parameter -
filename - นี่คือชื่อของไฟล์ที่ต้องเขียนบรรทัดถึง
Return Value- วิธีนี้จะคืนสถานะของฟังก์ชัน lineout ค่าที่ส่งคืนจะเป็น 0 หากเขียนบรรทัดสำเร็จมิฉะนั้นค่าของ 1 จะถูกส่งกลับ
Example -
/* Main program */
out = lineout(Example.txt,"Example4")
Output - เมื่อใดก็ตามที่รันโค้ดด้านบนบรรทัด“ Example4” จะถูกเขียนลงในไฟล์ Example.txt.