日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lua io详细操作

發布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lua io详细操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
責任編輯:cynthia作者:來自ITPUB論壇???2008-02-18??? 文本Tag:?Lua

  【IT168 技術文檔】I/O庫提供兩種不同的方式進行文件處理

  1、io表調用方式:使用io表,io.open將返回指定文件的描述,并且所有的操作將圍繞這個文件描述

  io表同樣提供三種預定義的文件描述io.stdin,io.stdout,io.stderr

  2、文件句柄直接調用方式,即使用file:XXX()函數方式進行操作,其中file為io.open()返回的文件句柄

  多數I/O函數調用失敗時返回nil加錯誤信息,有些函數成功時返回nil

  1、io.close ([file])

  功能:相當于file:close(),關閉默認的輸出文件

  2、io.flush ()

  功能:相當于file:flush(),輸出所有緩沖中的內容到默認輸出文件

  3、io.lines ([filename])

  功能:打開指定的文件filename為讀模式并返回一個迭代函數,每次調用將獲得文件中的一行內容,當到文件尾時,將返回nil,并自動關閉文件

  若不帶參數時io.lines() <=> io.input():lines(); 讀取默認輸入設備的內容,但結束時不關閉文件

  如:for line in io.lines("main.lua") do

  print(line)

  end

  4、io.open (filename [, mode])

  功能:按指定的模式打開一個文件,成功則返回文件句柄,失敗則返回nil+錯誤信息

  mode:

  "r": 讀模式 (默認);

  "w": 寫模式;

  "a": 添加模式;

  "r+": 更新模式,所有之前的數據將被保存

  "w+": 更新模式,所有之前的數據將被清除

  "a+": 添加更新模式,所有之前的數據將被保存,只允許在文件尾進行添加

  "b": 某些系統支持二進制方式

  5、io.output ([file])

  功能:相當于io.input,但操作在默認輸出文件上

  6、io.popen ([prog [, mode]])

  功能:開始程序prog于額外的進程,并返回用于prog的文件句柄(并不支持所有的系統平臺)

  7、io.read (...)

  功能:相當于io.input():read

  8、io.tmpfile ()

  功能:返回一個臨時文件句柄,該文件以更新模式打開,程序結束時自動刪除

  9、io.type (obj)

  功能:檢測obj是否一個可用的文件句柄

  返回:

  "file":為一個打開的文件句柄

  "closed file":為一個已關閉的文件句柄

  nil:表示obj不是一個文件句柄

  10、io.write (...)

  功能:相當于io.output():write

  11、file:close()

  功能:關閉文件

  注:當文件句柄被垃圾收集后,文件將自動關閉。句柄將變為一個不可預知的值

  12、file:flush()

  功能:向文件寫入緩沖中的所有數據

  13、file:lines()

  功能:返回一個迭代函數,每次調用將獲得文件中的一行內容,當到文件尾時,將返回nil,但不關閉文件

  如:for line in file:lines() do body end

  14、file:read(...)

  功能:按指定的格式讀取一個文件,按每個格式函數將返回一個字串或數字,如果不能正確讀取將返回nil,若沒有指定格式將指默認按行方式進行讀取

  格式:

  "*n": 讀取一個數字

  "*a": 從當前位置讀取整個文件,若為文件尾,則返回空字串

  "*l": [默認]讀取下一行的內容,若為文件尾,則返回nil

  number: 讀取指定字節數的字符,若為文件尾,則返回nil;如果number為0則返回空字串,若為文件尾,則返回nil;

  15、file:seek([whence][,offset])

  功能:設置和獲取當前文件位置,成功則返回最終的文件位置(按字節),失敗則返回nil加錯誤信息

  參數

  whence:

  "set": 從文件頭開始

  "cur": 從當前位置開始[默認]

  "end": 從文件尾開始

  offset:默認為0

  不帶參數file:seek()則返回當前位置,file:seek("set")則定位到文件頭,file:seek("end")則定位到文件尾并返回文件大小

  16、file:setvbuf(mode,[,size])

  功能:設置輸出文件的緩沖模式

  參數

  mode:

  "no": 沒有緩沖,即直接輸出

  "full": 全緩沖,即當緩沖滿后才進行輸出操作(也可調用flush馬上輸出)

  "line": 以行為單位,進行輸出(多用于終端設備)

  最后兩種模式,size可以指定緩沖的大小(按字節),忽略size將自動調整為最佳的大小

  17、file:write(...)

  功能:按指定的參數格式輸出文件內容,參數必須為字符或數字,若要輸出其它值,則需通過tostring或string.format進行轉換

總結

以上是生活随笔為你收集整理的lua io详细操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。