簡體   English   中英

使用erlang在文本文件中特定行的末尾寫一個單詞

[英]Write a word at the end of a specific line in a text file using erlang

我如何在Erlang文件的指定行末尾寫一個詞,比如

第1行:“他是約翰”

write_word("poem.txt",1," doe.").

第1行:“他是約翰·多伊。”

這就是我所能做的:

 write_word(Filename, LineNumber, Word) ->
        {ok, Data} = file:open(FileName, [read, write]),
        % write the word at end of line with the specified line number

以下提供的是一種偽代碼(未經測試的一種)。 另外,您還必須將內容寫入新文件

openFile(FileName, Mode, DesiredLine) ->
    {ok, FD} = file:open(FileName, Mode),
    for_each_line(FD, 0, DesiredLine).

for_each_line(FD, LineNo, DesiredLine) ->
    case io:get_line(FD, "") of
        eof  -> 
             file:close(FD);
        Line -> 
             case LineNo =:= DesiredLine of
             false ->
                 %% Write into a new file
                 NewLine = Line,
                 for_each_line(FD, LineNo + 1);
             true ->
                  %% do your stuff
                  NewLine = Line ++ "Word",
                  %% write into your file
              end    

    end.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM