Erlang用于操纵文件I/O的模块有:
file模块:打开、读、写、关闭文件已经操作目录的方法基本都在这里
filename模块:提供平台独立方式用于操纵文件名
filelib模块:file模块的扩展,提供了更多的实用工具,在file模块基础上构建
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,'').
其中第二个参数是提示符,用于在标准输入时作为提示。
这个方法有一个变形read/3read(IoDevice, Prompt, StartLine)
第三个参数用于指定开始行数。
(2)如果是按字节读取,文件必须按raw模式打开采用:
{ok, Data}=file:read(F,100).
(3)按行读取:
io:get_line(F, '').
(4)读取整个文件的内容:
{ok,Binary}=file:read_file("data1.dat").
注意返回的是一个binary类型
(5)随机读取:
{ok,Binary}=file:pread(F, 22, 46).
其中第二个参数是开始位置,第三个参数是读取的长度,返回的也是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 浮点数
~s 字符串
~w Erlang term
~p 与~w类似,不过当多行时将自动换行
~n 显然,换行符
(2)写入整个文件:
file:write_file(File, IO)
其中IO可以为list、integer或者binary类型
(3)随机写入:
file:pwrite(F, 10, <<"new">>)
4.关闭文件:
file:close(F).
5.目录操作:
都是linux命令风格的操作,
cd("/home/dennis/"). %进入目录
file:list_dir("."). %列出当前目录文件
file:make_dir("test"). %创建test目录
file:del_dir("test"). %删除test目录
6.获取文件信息,比如文件大小,最后修改时间等等。调用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的文档。
- 浏览: 120521 次
- 性别:
- 来自: 杭州
最新评论
-
tracysw:
赞 不错 难得看见中文翻译d
erlang lists模块函数使用大全 -
wdbblly:
博主你好,对于40,ukeysort(N, TupleList ...
erlang lists模块函数使用大全 -
zhongwencool:
问下怎么深入看erlangOTP,会用那个框架开发不就行了么, ...
需要学习的知识点 -
zhongwencool:
谢谢分享。
erlang
相关推荐
Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...
erlang并发编程实战源代码erlang并发编程实战源代码
Erlang网络编程性能调优之旅 Erlang是一种功能强大的编程语言,擅长于开发高性能的网络应用程序。在这篇文章中,我们将探索Erlang网络编程性能调优的旅程,从开始的简单连接压力测试到最后的高性能网络服务器的实现...
### Erlang编程入门 Erlang是一种专为并发计算设计的编程语言,由瑞典电信公司爱立信于20世纪80年代开发。由于其独特的并发处理能力,它在电信、银行、电子商务以及需要大量并发活动处理的系统中被广泛使用。Erlang...
Erlang是一门专为并发计算设计的编程语言,提供了高效的轻量级进程模型以支持高并发应用。它由Joe Armstrong、Robert Virding、Claes Wikström和Mike Williams等人撰写,并由CPiE-CN团队翻译成中文版。 在《Erlang...
Erlang是一种高级编程语言,专为构建并发、分布式、容错的系统设计。Erlang语言的编程规则和约定对于保证代码的可读性、可维护性、性能和稳定性至关重要。本文将对Erlang编程规则的中文翻译版本中的部分内容进行详细...
“即便我已经使用Erlang多年,在编程的时候仍然需要参考《Erlang编程指南》。不同层次的Erlang程序员都会发现本书是有价值的学习和参考资料。”, ——Steve Vinoski,《IEEE Internet Computing》专栏作家, 《Erlang...
《Erlang编程》是一本深入探讨Erlang语言的图书,主要面向对并发处理、分布式系统和高可用性有需求的开发者。Erlang是一种为构建大规模并发系统而设计的函数式编程语言,它源自爱立信,以其在电信行业的成功应用而...
erlang并发编程,erlang之父Joe Armstrong得原著之一。
Erlang并发编程是Erlang语言的核心特性之一,它为构建高效、容错的分布式系统提供了强大的工具。Erlang是一种函数式编程语言,特别适合处理并发和实时系统,因其在电信行业的广泛应用而闻名。以下是一些关于Erlang...
《Erlang并发编程》是一本深入探讨Erlang编程语言并发特性的书籍,中文翻译版为《erlang并发编程中文翻译(cpie-cn)》。Erlang是一种面向并发的、函数式编程语言,最初由爱立信开发,用于构建高可用性、容错性和可...
**Erlang编程:Introducing Erlang** Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,...
erlang编程语言圣经 erlang从业人员的必备书籍 erlang语言开发入门
erlang otp学习文档 学习还不错的
Erlang程序设计(中文版-完整书签)&Erlang编程指南(中英文版)
**Erlang OTP并发编程实战** 是一本专为开发者深入理解Erlang OTP并发机制而设计的实战指南。OTP(Open Telecom Platform)是Erlang编程语言的核心组件,提供了强大的并发处理能力和分布式系统构建框架。这本书以...
根据提供的文件信息,这份Erlang编程中文学习手册涵盖了Erlang编程语言的基础知识和一些进阶内容,旨在帮助读者从入门到初中级水平的提升。以下是手册中提到的Erlang编程的相关知识点。 首先,手册介绍了Erlang语言...