一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Erlang - Erlang IO編程之文件目錄操作常用方法小結(jié)

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

2020-05-24 11:33腳本之家 Erlang

這篇文章主要介紹了Erlang IO編程之文件目錄操作常用方法小結(jié),本文講解了常用的文件操作如打開文件、讀取文件、寫入文件、刪除文件等,需要的朋友可以參考下

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

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

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

filelib模塊:file模塊的擴展,提供了更多的實用工具,在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]). %讀、寫、二進制模式


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

 

2.讀取:
(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)按行讀取:

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

io:get_line(F, '').


(4)讀取整個文件的內(nèi)容:

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

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


注意返回的是一個binary類型

 

(5)隨機讀取:

復(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/").  %進入目錄
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的文檔。

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲邪恶天堂影院在线观看 | 国产成人综合网 | 99久久香蕉国产线看观香 | 四虎影视库永久在线地址 | 四虎传媒 | 夫妇野外交换激情 | 男人的天堂日本 | 欧美人在线一区二区三区 | 深夜在线观看 | 国产精品香蕉在线观看不卡 | 果冻传媒在线播放1 | 黑人粗又长 | 黑人巨大精品战中国美女 | 日日插插| 国产成人精品免费2021 | 奇米影视中文字幕 | 欧美成人aa久久狼窝动画 | 九九九九在线精品免费视频 | 免费观看一级特黄三大片视频 | 丝瓜视频看污片 | 亚洲女人国产香蕉久久精品 | 肉搏潘金莲三级18春 | 日韩久久中文字幕 | 亚1洲二区三区四区免费 | 国产精品探花一区在线观看 | 青草碰人人澡人人澡 | boobsmilking流奶水野战 | 视频二区 素人 欧美 日韩 | 免费高清视频免费观看 | 九九99九九精彩 | 四虎永久成人免费 | 日本精品欧洲www | 操女人的b| 国产精品夜夜爽张柏芝 | 欧美jjvideo | ai换脸造梦jennie | 亚洲偷窥图区色 | 日韩精品亚洲一级在线观看 | 国产乱码一卡二卡3卡四卡 国产乱插 | 日本免费一区二区三区 | 欧美骚熟 |