热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Erlang,我怎么用换行符创建文本文件?

如何解决《Erlang,我怎么用换行符创建文本文件?》经验,为你挑选了1个好方法。

有人知道如何用Erlang语言在文本文件中添加新行吗?我要保存此列表:

Data = ["one", "two", "three"],

换成新行的文本文件:

one
two
three

我试过了:

write() ->
    Data = ["1","2","3"],
    Print = string:join(Data, "\n"),
    file:write_file("/Documents/foo.txt", [Print]).

但是它将创建一个带有内联数据的文本文件:

one\ntwo\nthree

Steve Vinosk.. 5

我猜您正在Windows上运行代码,因此需要"\r\n"作为行分隔符。您可以致电来获取适合您所用平台的行分隔符io_lib:nl/0

尝试以下方法:

write() ->
    Data = ["1","2","3"],
    LineSep = io_lib:nl(),
    Print = [string:join(Data, LineSep), LineSep],
    file:write_file("/Documents/foo.txt", Print).

此处Printiodata的一个实例,它是an iolist或a binary,其中an iolist是由一个或多个字符,二进制文件或其他iolist组成的任意深列表。这是在Erlang中用于输出的非常方便的数据类型,因为这意味着您可以避免在将数据写入文件或通过套接字发送数据之前将其扁平化。此版本的write函数使用变量的iodata形式Print来轻松确保写入文件的最后一行数据后跟一个行分隔符,而这string:join/2本身是行不通的。



1> Steve Vinosk..:

我猜您正在Windows上运行代码,因此需要"\r\n"作为行分隔符。您可以致电来获取适合您所用平台的行分隔符io_lib:nl/0

尝试以下方法:

write() ->
    Data = ["1","2","3"],
    LineSep = io_lib:nl(),
    Print = [string:join(Data, LineSep), LineSep],
    file:write_file("/Documents/foo.txt", Print).

此处Printiodata的一个实例,它是an iolist或a binary,其中an iolist是由一个或多个字符,二进制文件或其他iolist组成的任意深列表。这是在Erlang中用于输出的非常方便的数据类型,因为这意味着您可以避免在将数据写入文件或通过套接字发送数据之前将其扁平化。此版本的write函数使用变量的iodata形式Print来轻松确保写入文件的最后一行数据后跟一个行分隔符,而这string:join/2本身是行不通的。


推荐阅读
author-avatar
DreamFly72
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有