<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 文件操作 lua I/O庫提供兩種不同的方式處理文件: 1、隱式文件描述:設置一個默認的輸入或輸出文件,然后在這個文件上進行所有的輸入或輸出操作。所有的操作函數由io表提供。 > 打開已經存在的test1.txt文件,并讀取里面的內容 ~~~ file = io.input("test1.txt") --使用io.input()函數打開文件 repeat line = io.read() --逐行讀取內容,文件結束時返回nil if nil == line then break end print(line) until (false) io.close(file) --關閉文件 -->output my test file hello lua ~~~ > 在test1.txt文件的最后添加一行"hello world" ~~~ file = io.open("test1.txt", "a+") --使用io.open()函數,以添加模式打開文件 io.output(file) --使用io.output()函數,設置默認輸出文件 io.write("\nhello world") --使用io.write()函數,把內容寫到文件 io.close(file) ~~~ 在相應目錄下打開test1.txt文件,查看文件內容發生的變化。 2、顯示文件描述:使用file:XXX()函數方式進行操作,其中file為io.open()返回的文件句柄。 > 打開已經存在的test2.txt文件,并讀取里面的內容 ~~~ file = io.open("test2.txt", "r") --使用io.open()函數,以只讀模式打開文件 for line in file:lines() do --使用file:lines()函數逐行讀取文件 print(line) end file:close() -->output my test2 hello lua ~~~ > 在test2.txt文件的最后添加一行"hello world" ~~~ file = io.open("test2.txt", "a") --使用io.open()函數,以添加模式打開文件 file:write("\nhello world") --使用file:open()函數,在文件的最后添加一行內容 file:close() ~~~ 在相應目錄下打開test2.txt文件,查看文件內容發生的變化。 ### 文件操作函數 #### io.open (filename [, mode]) 按指定的模式mode,打開一個文件名為filename的文件,成功則返回文件句柄,失敗則返回nil加錯誤信息。模式: | 模式 | 含義 | 文件不存在時 | |-----|-----|-----| | "r" | 讀模式 (默認) | 返回nil加錯誤信息 | | "w" | 寫模式 | 創建文件 | | "a" | 添加模式 | 創建文件 | | "r+" | 更新模式,保存之前的數據 | 返回nil加錯誤信息 | | "w+" | 更新模式,清除之前的數據 | 創建文件 | | "a+" | 添加更新模式,保存之前的數據,在文件尾進行添加 | 創建文件 | 模式字符串后面可以有一個'b',用于在某些系統中打開二進制文件。 #### file:close () 關閉文件。注意:當文件句柄被垃圾收集后,文件將自動關閉。句柄將變為一個不可預知的值。 #### io.close ([file]) 關閉文件,和file:close()的作用相同。沒有參數file時,關閉默認輸出文件。 #### file:flush () 把寫入緩沖區的所有數據寫入到文件file中。 #### io.flush () 相當于file:flush(),把寫入緩沖區的所有數據寫入到默認輸出文件。 #### io.input ([file]) 當使用一個文件名調用時,打開這個文件(以文本模式),并設置文件句柄為默認輸入文件;當使用一個文件句柄調用時,設置此文件句柄為默認輸入文件;當不使用參數調用時,返回默認輸入文件句柄。 #### file:lines () 返回一個迭代函數,每次調用將獲得文件中的一行內容,當到文件尾時,將返回nil,但不關閉文件。 #### io.lines ([filename]) 打開指定的文件filename為讀模式并返回一個迭代函數,每次調用將獲得文件中的一行內容,當到文件尾時,將返回nil,并自動關閉文件。若不帶參數時io.lines() 等價于io.input():lines(); 讀取默認輸入設備的內容,結束時不關閉文件。 #### io.output ([file]) 類似于io.input,但操作在默認輸出文件上。 #### file:read (···) 按指定的格式讀取一個文件。按每個格式將返回一個字符串或數字,如果不能正確讀取將返回nil,若沒有指定格式將指默認按行方式進行讀取。格式: | 格式 | 含義 | |-----|-----| | "*n" | 讀取一個數字 | | "*a" | 從當前位置讀取整個文件。若當前位置為文件尾,則返回空字符串 | | "*l" | 讀取下一行的內容。若為文件尾,則返回nil。(默認) | | number | 讀取指定字節數的字符。若為文件尾,則返回nil。如果number為0,則返回空字符串,若為文件尾,則返回nil | #### io.read (···) 相當于io.input():read #### io.type (obj) 檢測obj是否一個可用的文件句柄。如果obj是一個打開的文件句柄,則返回"file";如果obj是一個已關閉的文件句柄,則返回"closed file";如果obj不是一個文件句柄,則返回nil。 #### file:write (···) 把每一個參數的值寫入文件。參數必須為字符串或數字,若要輸出其它值,則需通過tostring或string.format進行轉換。 #### io.write (···) 相當于io.output():write。 #### file:seek ([whence] [, offset]) 設置和獲取當前文件位置,成功則返回最終的文件位置(按字節,相對于文件開頭),失敗則返回nil加錯誤信息。缺省時,whence默認為"cur",offset默認為0。參數whence: | whence | 含義 | |-----|-----| | "set" | 文件開始 | | "cur" | 文件當前位置(默認) | | "end" | 文件結束 | #### file:setvbuf (mode [, size]) 設置輸出文件的緩沖模式。模式: | 模式 | 含義 | |-----|-----| | "no" | 沒有緩沖,即直接輸出 | | "full" | 全緩沖,即當緩沖滿后才進行輸出操作(也可調用flush馬上輸出) | | "line" | 以行為單位,進行輸出 | 最后兩種模式,size可以指定緩沖的大小(按字節),忽略size將自動調整為最佳的大小。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看