最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Erlang IO編程之文件目錄操作常用方法小結(jié)

 更新時間:2015年01月07日 09:00:35   投稿:junjie  
這篇文章主要介紹了Erlang IO編程之文件目錄操作常用方法小結(jié),本文講解了常用的文件操作如打開文件、讀取文件、寫入文件、刪除文件等,需要的朋友可以參考下

Erlang用于操縱文件I/O的模塊有:

file模塊:打開、讀、寫、關(guān)閉文件已經(jīng)操作目錄的方法基本都在這里

filename模塊:提供平臺獨立方式用于操縱文件名

filelib模塊:file模塊的擴(kuò)展,提供了更多的實用工具,在file模塊基礎(chǔ)上構(gòu)建

io模塊:一系列用于操作打開的文件的方法,解析格式、格式化輸出等等。

1.打開文件:

復(fù)制代碼 代碼如下:

{ok,F}=file:open("data1.dat",read). %讀模式打開
{ok,F}=file:open("data1.dat",write). %寫模式
{ok,F}=file:open("data1.dat",[read,write]). %讀、寫、二進(jìn)制模式

支持的所有模式參見文檔。

2.讀?。?br /> (1)如果以一個Erlang term的方式讀取,采用:

復(fù)制代碼 代碼如下:

io:read(F,'').

其中第二個參數(shù)是提示符,用于在標(biāo)準(zhǔn)輸入時作為提示。
這個方法有一個變形read/3
復(fù)制代碼 代碼如下:

read(IoDevice, Prompt, StartLine)

第三個參數(shù)用于指定開始行數(shù)。

(2)如果是按字節(jié)讀取,文件必須按raw模式打開采用:

復(fù)制代碼 代碼如下:

{ok, Data}=file:read(F,100).

(3)按行讀?。?br />
復(fù)制代碼 代碼如下:

io:get_line(F, '').

(4)讀取整個文件的內(nèi)容:
復(fù)制代碼 代碼如下:

{ok,Binary}=file:read_file("data1.dat").

注意返回的是一個binary類型

(5)隨機讀?。?br />

復(fù)制代碼 代碼如下:

{ok,Binary}=file:pread(F, 22, 46).

其中第二個參數(shù)是開始位置,第三個參數(shù)是讀取的長度,返回的也是binary類型。

3.寫入文件:
(1)采用io:format/3方法:

復(fù)制代碼 代碼如下:

{ok, S} = file:open("test2.dat", write).
io:format(S, "~s~n", ["Hello readers"]).
io:format(S, "~w~n", [123]).

其中的~開頭的字符是一個個格式化命令,比如常見的:
~c   anscii碼
~f   浮點數(shù)
~s   字符串
~w   Erlang term
~p   與~w類似,不過當(dāng)多行時將自動換行
~n   顯然,換行符

(2)寫入整個文件:

復(fù)制代碼 代碼如下:

file:write_file(File, IO)

其中IO可以為list、integer或者binary類型

(3)隨機寫入:

復(fù)制代碼 代碼如下:

file:pwrite(F, 10, <<"new">>)

4.關(guān)閉文件:
復(fù)制代碼 代碼如下:

file:close(F).

5.目錄操作:=
都是linux命令風(fēng)格的操作,
復(fù)制代碼 代碼如下:

cd("/home/dennis/").  %進(jìn)入目錄
file:list_dir(".").   %列出當(dāng)前目錄文件
file:make_dir("test").  %創(chuàng)建test目錄
file:del_dir("test").   %刪除test目錄

6.獲取文件信息,比如文件大小,最后修改時間等等。調(diào)用file:read_file_info/1方法,該方法返回一個file_info記錄類型,里面擁有文件的具體信息,比如type、size等。

復(fù)制代碼 代碼如下:

{ok, Facts} =file:read_file_info(File).
io:format("~s~n",{Facts#file_info.type, Facts#file_info.size}).

7.復(fù)制和刪除文件:
復(fù)制代碼 代碼如下:

file:copy(Source, Destination).
file:delete(File).

這個筆記僅僅記錄了一些常用到的方法,一些高級的工具方法并沒有涉及,具體參考Erlang的文檔。

相關(guān)文章

  • Erlang中的Record詳解

    Erlang中的Record詳解

    這篇文章主要介紹了Erlang中的Record詳解,本文講解了定義Record、創(chuàng)建Record、訪問Record、更新Record、匹配Record和Guard語句、使用Record等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Erlang初學(xué):Erlang的一些特點和個人理解總結(jié)

    Erlang初學(xué):Erlang的一些特點和個人理解總結(jié)

    這篇文章主要介紹了Erlang初學(xué):Erlang的一些特點和個人理解總結(jié),本文總結(jié)了函數(shù)式編程、一切都是常量、輕量進(jìn)程、進(jìn)程端口映射及典型缺點等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • Erlang IO編程之文件目錄操作常用方法小結(jié)

    Erlang IO編程之文件目錄操作常用方法小結(jié)

    這篇文章主要介紹了Erlang IO編程之文件目錄操作常用方法小結(jié),本文講解了常用的文件操作如打開文件、讀取文件、寫入文件、刪除文件等,需要的朋友可以參考下
    2015-01-01
  • 一篇文章帶你從入門到精通:RabbitMQ

    一篇文章帶你從入門到精通:RabbitMQ

    RabbitMQ是實現(xiàn)了高級消息隊列協(xié)議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務(wù)器是用Erlang語言編寫的,所有主要的編程語言均有與代理接口通訊的客戶端庫
    2021-06-06
  • CentOS 6.5源碼安裝Erlang教程

    CentOS 6.5源碼安裝Erlang教程

    這篇文章主要介紹了CentOS 6.5源碼安裝Erlang教程,本文講解了源碼編譯安裝的過程和遇到的一些錯誤處理方法,需要的朋友可以參考下
    2015-01-01
  • Erlang中遍歷取出某個位置的最大值代碼

    Erlang中遍歷取出某個位置的最大值代碼

    這篇文章主要介紹了Erlang中遍歷取出某個位置的最大值代碼,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • Erlang中的函數(shù)與流程控制介紹

    Erlang中的函數(shù)與流程控制介紹

    這篇文章主要介紹了Erlang中的函數(shù)與流程控制介紹,本文先是講解了函數(shù)的一些知識,然后講解了case語句和if語句及算術(shù)表達(dá)式等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Erlang項目內(nèi)存泄漏分析方法

    Erlang項目內(nèi)存泄漏分析方法

    這篇文章主要介紹了Erlang項目內(nèi)存泄漏分析方法,本文講解了分析方法、分析流程并找到問題原因和解決方法,需要的朋友可以參考下
    2015-02-02
  • Erlang中的匹配模式總結(jié)

    Erlang中的匹配模式總結(jié)

    這篇文章主要介紹了Erlang中的匹配模式總結(jié),本文講解了賦值時匹配、流程控制中的匹配、消息傳遞匹配等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Erlang實現(xiàn)的百度云推送Android服務(wù)端實例

    Erlang實現(xiàn)的百度云推送Android服務(wù)端實例

    這篇文章主要介紹了Erlang實現(xiàn)的百度云推送Android服務(wù)端實例,本文先是講解了實現(xiàn)步驟,然后給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01

最新評論

邵武市| 文成县| 西贡区| 赫章县| 察雅县| 夏津县| 西丰县| 曲靖市| 赣榆县| 襄城县| 依安县| 正安县| 永康市| 泸溪县| 宁海县| 萝北县| 乌审旗| 肃宁县| 太谷县| 丰镇市| 固安县| 新河县| 时尚| 冀州市| 华池县| 克拉玛依市| 徐汇区| 临沭县| 西乌珠穆沁旗| 肥乡县| 梓潼县| 莱州市| 青阳县| 清苑县| 麟游县| 古浪县| 庆云县| 南涧| 阿克陶县| 蓝田县| 锡林浩特市|