最新国产好看的视频,伊人天堂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模塊的擴展,提供了更多的實用工具,在file模塊基礎上構(gòu)建

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

1.打開文件:

復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

io:read(F,'').

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

read(IoDevice, Prompt, StartLine)

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

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

復制代碼 代碼如下:

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

(3)按行讀取:
復制代碼 代碼如下:

io:get_line(F, '').

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

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

注意返回的是一個binary類型

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

復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

{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類似,不過當多行時將自動換行
~n   顯然,換行符

(2)寫入整個文件:

復制代碼 代碼如下:

file:write_file(File, IO)

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

(3)隨機寫入:

復制代碼 代碼如下:

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

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

file:close(F).

5.目錄操作:=
都是linux命令風格的操作,
復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

7.復制和刪除文件:
復制代碼 代碼如下:

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初學:Erlang的一些特點和個人理解總結(jié)

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

    這篇文章主要介紹了Erlang初學:Erlang的一些特點和個人理解總結(jié),本文總結(jié)了函數(shù)式編程、一切都是常量、輕量進程、進程端口映射及典型缺點等內(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服務器是用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ù)表達式等內(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服務端實例

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

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

最新評論

建德市| 宜兰市| 当雄县| 益阳市| 吴堡县| 潼关县| 康马县| 宝兴县| 清涧县| 郧西县| 紫金县| 南江县| 诸暨市| 阳城县| 二手房| 无极县| 收藏| 德钦县| 图片| 邻水| 浏阳市| 井研县| 台前县| 鲁山县| 平顺县| 巴塘县| 扶余县| 三原县| 南城县| 玛纳斯县| 留坝县| 永春县| 元氏县| 瓦房店市| 永登县| 天祝| 泸溪县| 宁南县| 旬邑县| 宜君县| 新沂市|