`
deepfuture
  • 浏览: 4400458 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80078
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70048
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103358
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285814
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15012
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67563
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32151
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45989
社区版块
存档分类
最新评论

erlang-读取文件-2

阅读更多

 

 

1.compile and run

Eshell V5.8.2  (abort with ^G)

1> c(sfile).

./sfile.erl:14: Warning: variable 'Why' is unused

{ok,sfile}

2> c(readfile).

{ok,readfile}

3> readfile:start("../test/test1.po")

3> .

load.....

load ../test/test1.po finished.

list xx

run finished

ok

4> 

2.sfile.erl

 

 

-module(sfile).
-export([load/1,readline/1,unload/1]). 
-import(io,[get_line/2,atom/0]). 
-import(file,[open/2,close/1]). 
-vsn(0.001).
-author({deepfuture}).
%文件操作
%load加载,readline读取一行,unload关闭文件

load(Sfilename)->
        case open(Sfilename,read) of
             {ok,Sf}->Sf;       
     		 {error,Why}->throw(err)	 
end.



readline(Sf)->get_line(Sf,"").

unload(Sf)->close(Sf).

 3.

 

-module(readfile).  
-export([start/1]).  
-import(io,[fwrite/1,format/2]).
-import(sfile,[load/1,unload/1,readline/1]).
-import(string,[len/1,substr/3,to_lower/1,strip/1]).
-vsn(0.001).
-author({deepfuture}).
%解析器

start(Sfilename)->%开始解析,参数是源文件名
fwrite("load.....~n"),
try load(Sfilename) of
    Sf->format("load ~s finished.~n",[Sfilename]),
         read(Sf),       
         unload(Sf)
catch
    err->format("load ~s error~n",[Sfilename])	
end.


read(Sf)->%分别读取每行
case readline(Sf) of
  eof->format("run finished~n",[]);
  Data->myprint(Data),
        read(Sf)       
end.        
  
myprint(Data)->format("~s",[Data]).
  
    

 

 

1
1
分享到:
评论

相关推荐

    Erlang-B&C曲线MATLAB源码

    代码可能包含若干函数,用于分别计算Erlang-B和Erlang-C值,并且有主脚本用于驱动整个过程,可能还包括了数据读取、参数设置、结果输出等功能。通过阅读和理解这些源代码,你可以更深入地学习如何在实际项目中应用...

    Erlang-OTP-API 离线查询英文全手册

    2. **错误处理和容错**:Erlang OTP强调容错性,手册中会有详细介绍如何通过进程监控(`monitor`和`demonitor`)、链接(`link`和`unlink`)以及错误处理回调来确保系统的健壮性。 3. **分布式编程**:OTP提供了...

    erlang-conf:用于将 erlang conf 解析为 JSON 的 NodeJS 模块

    它可能提供了一些API接口,如`parse()`函数,用于读取和解析Erlang Conf文件,返回一个JSON对象。此外,还可能有`stringify()`函数,将JSON对象转换回Erlang Conf格式,便于进行数据的双向转换。 在实际使用中,...

    erlang-tile-server

    从压缩包子文件的文件名称列表“erlang-tile-server-master”我们可以推测,这是项目的源码仓库的主分支,可能包含了项目的配置文件、源代码、测试用例、文档等资源。 在Erlang-tile-server这个项目中,开发者可能...

    erlang-systemd:用于Erlang应用程序的systemd实用程序

    3. **环境变量管理**:通过该库,Erlang应用能够读取和设置Systemd服务单元文件中的环境变量,实现配置的动态调整。 4. **服务依赖关系**:Erlang应用可以声明与其他Systemd服务的依赖关系,确保在启动时的正确顺序...

    matlab开发-ErlangBlossformula

    在“erlangb.m”文件中,很可能包含了计算Erlang-Bloss公式的函数代码。通常,这样的函数会接受输入参数如呼叫到达率、系统容量和呼叫平均持续时间,然后返回呼叫丢失概率。 4. **数值计算**:MATLAB擅长处理高精度...

    erlang 中文乱码

    这样可以确保Erlang以Unicode编码读取文件。 3. **终端设置**:如果你在终端中查看Erlang的输出,确保你的终端环境支持UTF-8,并且已经将其设置为默认的字符编码。不同的操作系统有不同的设置方法,如在Linux中...

    for_each_file 用erlang代码实现遍历文件

    Erlang的文件操作API(如`file:list_dir/1`、`file:open/2`、`file:read_line/1`和`file:close/1`)是处理文件系统操作的核心部分。它们提供了一种安全且并发友好的方式来访问和操作文件。`filename:join/1,2`函数...

    Erlang 速查表 v1.0.pdf

    Erlang shell中`f()`用于清空所有绑定,`rr/1`用于读取记录文件,`rf/1`用于移除记录定义。 以上是Erlang速查表中提到的关键知识点的详细说明,涵盖了变量、字符串、列表、元组、函数、宏、Erlang Shell、记录、...

    erlang 深度分析

    - **文件读取**: 使用`file:read_file/1`函数读取文件内容。 - **注意事项**: 需要注意文件编码和错误处理。 - **应用场景**: 文件处理、日志记录等。 #### 40. Erlang版本更新 - **R12B-2**: 一次重要的版本更新。...

    erlang-exercises:一系列 Erlang 练习,展示了该语言的一些基础知识

    还有另一个函数可以读取文件并删除重复项并计算列表的长度。 03 - charcount.erl - 在不使用多个进程的情况下确定字符数。 我添加了一个计时器方法,以便我可以将它与 ccharcount.erl 进行比较。 04 - ccharcount...

    Erlang保留字

    本文通过提供的Erlang代码片段,详细介绍了Erlang中模块声明、函数导出、文件包含、记录定义与操作、异常处理以及数值表示等核心概念。理解这些基础对于学习和使用Erlang非常重要。通过掌握这些基本知识,开发者可以...

    sourcetrail-erlang:Sourcetrail的Python脚本,该脚本读取已编译的Erlang BEAM文件并将调试信息写入Sourcetrail数据库-python source file

    Python 脚本在这里扮演了关键角色,它读取 Erlang 的已编译二进制 BEAM 文件,并将其中的调试信息转化为 Sourcetrail 数据库能理解的格式。 Erlang 是一种并发、分布式和热重启支持的函数式编程语言,广泛应用于...

    erlang lib of iconv

    - 文件解析:读取和写入使用不同编码的文件时,iconv可以帮助正确处理编码问题。 通过这个库,Erlang开发者可以更轻松地处理多语言环境下的编码问题,确保数据在各种编码系统间无缝转换,提高软件的国际化和本地化...

    erlang test 生成 dets

    在Erlang中,你可以使用`file:open/2`和`io:get_line/1`读取这个文件,然后将读取到的数字转换为Erlang术语,再插入到DETs表中。 在实际测试中,可能还需要关注性能、并发操作以及错误处理等方面。例如,使用`etap`...

    Erlang_Memcache.pdf

    考虑到数据可能随着业务需求的改变而变化,如表的列数或数量变动,采用配置文件读取数据比硬编码更具灵活性。利用`xmerl`工具读取XML配置文件,可以将其转换为记录,该记录充当了数据表的元数据。 具体的转换操作...

    erlang nif test

    在“tu”这个文件中,可能包含了测试NIF功能的代码,例如创建一个简单的NIF,用于执行加法运算,或者读取和修改Erlang术语。测试通常包括验证NIF是否正确加载,调用是否成功,以及错误处理机制是否按预期工作。 在...

    erlang r17官方api及stdlib手册

    7. **file**: 文件I/O操作,如`open/2`打开文件,`read/2`读取文件内容,`write/2`写入文件。 8. **proplists**: 处理属性列表的工具,常用于配置文件处理。 9. **mnesia**: 分布式数据库管理系统,支持事务和模式...

    erlang 学习笔记1

    例如,`file:open/2`用于打开文件,`file:write/2`用于写入数据,而`file:read/1`用于读取文件内容。此外,Erlang的并发特性使得在多个进程间并发读写文件成为可能,这对于处理大量数据或实现高效I/O操作非常有用。 ...

    使用erlang连接ES的客户端

    如果是使用Rebar3作为构建工具,可以在`rebar.config`文件中添加如下依赖: ```erlang {deps, [ {es_client, ".*"} ]}. ``` 然后运行`rebar3 compile`命令安装和编译依赖。 **连接Elasticsearch** 连接Elastic...

Global site tag (gtag.js) - Google Analytics