Erlang - Dosya G / Ç
Erlang, G / Ç ile çalışırken bir dizi yöntem sağlar. Dosyalar için aşağıdaki işlevleri sağlamak için daha kolay sınıflara sahiptir -
- Dosyaları okuma
- Dosyalara yazma
- Bir dosyanın dosya mı yoksa dizin mi olduğunu görmek
Erlang'da Dosya İşlem Yöntemleri
Erlang'ın sunduğu bazı dosya işlemlerini inceleyelim. Bu örneklerin amaçları doğrultusunda, adında bir dosya olduğunu varsayacağızNewFile.txt aşağıdaki metin satırlarını içeren
Example1
Example2
Example3
Bu dosya aşağıdaki örneklerde okuma ve yazma işlemleri için kullanılacaktır.
Bir Dosyanın İçeriğini Bir Seferde Tek Satır Okuma
Dosyalarla ilgili genel işlemler, dosya kitaplığında bulunan yöntemler kullanılarak gerçekleştirilir. Dosyaları okumak için önce açma işlemini kullanmamız ve ardından dosya kitaplığının bir parçası olarak mevcut olan okuma işlemini kullanmamız gerekir. Bu yöntemlerin her ikisi için sözdizimi aşağıdadır.
Sözdizimi
- Dosya açma - Aç (Dosya, Mod)
- Bir dosyayı okuma - okuyun (FileHandler, NumberofBytes)
Parametreler
File - Bu, açılması gereken dosyanın konumudur.
Mode - Bu, dosyanın açılması gereken moddur.
Aşağıda mevcut modlardan bazıları verilmiştir -
Read - Var olması gereken dosya okumak için açılır.
Write- Dosya yazmak için açılır. Mevcut değilse yaratılır. Dosya varsa ve yazma, okuma ile birleştirilmezse, dosya kesilir.
Append- Dosya yazılmak üzere açılacak ve yoksa oluşturulacaktır. Append ile açılan bir dosyaya her yazma işlemi dosyanın sonunda gerçekleşecektir.
Exclusive- Dosya, yazmak için açıldığında, yoksa oluşturulur. Dosya varsa, open {error, exist} döndürecektir.
FileHandler- Bu bir dosyanın tanıtıcısıdır. Bu tutamaç,file:open operasyon kullanılır.
NumberofByte - Bu, dosyadan okunması gereken bayt bilgi sayısıdır.
Geri dönüş değeri
Open(File,Mode) - İşlem başarılı olursa dosyaya bir tanıtıcı döndürür.
read(FileHandler,NumberofBytes) - Dosyadan istenen okuma bilgilerini döndürür.
Örneğin
-module(helloworld).
-export([start/0]).
start() ->
{ok, File} = file:open("Newfile.txt",[read]),
Txt = file:read(File,1024 * 1024),
io:fwrite("~p~n",[Txt]).
Output - Yukarıdaki programı çalıştırdığımızda aşağıdaki sonucu alacağız.
Example1
Şimdi dosya işlemleri için kullanılabilen diğer bazı yöntemleri tartışalım -
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | file_read Bir dosyanın tüm içeriğinin aynı anda okunmasına izin vermek için kullanılabilir. |
2 | yazmak İçeriği bir dosyaya yazmak için kullanılır. |
3 | kopya mevcut bir dosyanın kopyasını oluşturmak için kullanılır. |
4 | sil Bu yöntem, mevcut bir dosyayı silmek için kullanılır. |
5 | list_dir Bu yöntem, belirli bir dizinin içeriğini listelemek için kullanılır. |
6 | Dirsek yapmak Bu yöntem, yeni bir dizin oluşturmak için kullanılır. |
7 | Adını değiştirmek Bu yöntem, mevcut bir dosyayı yeniden adlandırmak için kullanılır. |
8 | Dosya boyutu Bu yöntem, dosyanın boyutunu belirlemek için kullanılır. |
9 | is_file Bu yöntem, bir dosyanın gerçekten bir dosya olup olmadığını belirlemek için kullanılır. |
10 | is_dir Bu yöntem, bir dizinin gerçekten bir dizin olup olmadığını belirlemek için kullanılır. |