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.