खोज…


एक फ़ाइल से पढ़ना

मान लेते हैं कि आपके पास एक गीत है। गीत जिसमें निम्नलिखित डेटा हो:

summer has come and passed
the innocent can never last
wake me up when september ends

एक बार में पूरी फाइल पढ़ें

file:read_file(File) का उपयोग करके, आप पूरी फ़ाइल पढ़ सकते हैं। यह एक परमाणु ऑपरेशन है:

1> file:read_file("lyrics.txt").
{ok,<<"summer has come and passed\r\nthe innocent can never last\r\nWake me up w
hen september ends\r\n">>}

एक समय में एक पंक्ति पढ़ें

io:get_line पाठ को नई io:get_line या फ़ाइल के अंत तक पढ़ता है।

1> {ok, S} = file:open("lyrics.txt", read).
{ok,<0.57.0>}
2> io:get_line(S, '').
"summer has come and passed\n"
3> io:get_line(S, '').
"the innocent can never last\n"
4> io:get_line(S, '').
"wake me up when september ends\n"
5> io:get_line(S, '').
eof
6> file:close(S).
ok

रैंडम एक्सेस के साथ पढ़ें

file:pread(IoDevice, Start, Len) Start से उतना ही पढ़ता है जितना IoDevice से Len

1> {ok, S} = file:open("lyrics.txt", read).
{ok,<0.57.0>}
2> file:pread(S, 0, 6).
{ok,"summer"}
3> file:pread(S, 7, 3).
{ok,"has"}       

एक फ़ाइल के लिए लेखन

एक बार में एक लाइन लिखिए

write मोड के साथ फाइल खोलें और io:format/2 उपयोग करें:

1> {ok, S} = file:open("fruit_count.txt", [write]).
{ok,<0.57.0>}
2> io:format(S, "~s~n", ["Mango 5"]).
ok
3> io:format(S, "~s~n", ["Olive 12"]).
ok
4> io:format(S, "~s~n", ["Watermelon 3"]).
ok
5>

परिणाम निम्न सामग्री के साथ fruit_count.txt नामक एक फ़ाइल होगा:

Mango 5
Olive 12
Watermelon 3

ध्यान दें कि एक फाइल को राइट मोड में खोलने पर इसे बनाया जाएगा, यदि फाइल सिस्टम में पहले से मौजूद नहीं है।

यह भी ध्यान दें कि file:open/2 साथ write विकल्प का उपयोग करना file:open/2 ट्रंकटेट करेगा (भले ही आप इसमें कुछ भी न लिखें)। इसे रोकने के लिए, [read,write] या [append] मोड में फाइल खोलें।

एक ही बार में पूरी फाइल लिखें

file:write_file(Filename, IO) एक बार में फ़ाइल लिखने का सबसे सरल कार्य है। यदि फ़ाइल पहले से मौजूद है, तो वह अधिलेखित हो जाएगी, अन्यथा इसे बनाया जाएगा।

1> file:write_file("fruit_count.txt", ["Mango 5\nOlive 12\nWatermelon 3\n"
]).
ok
2> file:read_file("fruit_count.txt").
{ok,<<"Mango 5\nOlive 12\nWatermelon 3\n">>}
3>

रैंडम एक्सेस के साथ लिखें

यादृच्छिक अभिगम लेखन के लिए, file:pwrite(IoDevice, Location, Bytes) का उपयोग किया जाता है। यदि आप फ़ाइल में कुछ स्ट्रिंग को बदलना चाहते हैं, तो यह विधि उपयोगी है।

मान लें कि आप ऊपर बनाई गई फ़ाइल में "ओलिव 12" को "Apple 15" में बदलना चाहते हैं।

1> {ok, S} = file:open("fruit_count.txt", [read, write]).
{ok,{file_descriptor,prim_file,{#Port<0.412>,676}}}
2> file:pwrite(S, 8, ["Apple 15\n"]).
ok
3> file:read_file("fruit_count.txt").
{ok,<<"Mango 5\nApple 15\nWatermelon 3">>}
4> file:close(S).
ok
5>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow