Jak odczytać plik za pomocą języka rdzy

Jak odczytać plik za pomocą języka rdzy

Możliwość czytania plików jest niezwykle ważna dla każdego programisty. Pozwala nam ładować informacje z zewnętrznych źródeł i manipulować je, jak uważamy.

W tym artykule omówimy różne sztuczki i metody czytania plików w języku programowania rdzy.

Konfiguracja projektu

Początkowym zestawem jest utworzenie struktury projektu. Możemy to zrobić za pomocą polecenia ładunku jako:

$ cargo new Read_file

Poprzednie polecenie zainicjuje nowy projekt o określonej nazwie. W katalogu głównym dodaj plik tekstowy, który będzie zawierał przykładowe dane, które będziemy odczytać za pomocą rdzy.

W tym samouczku użyje prostego pliku tekstowego zawierającego informacje ARP z komputera z systemem Windows.

Przykładowe informacje są tak, jak pokazano:

Interfejs: 192.168.0.104 --- 0xc
Adres internetowy Typ adresu fizycznego
192.168.0.1 D4-B1-06-99-3B-63 Dynamika
192.168.0.255 FF-FF-FF-FF-FF-FF Static
224.0.0.22 01-00-5e-00-00-16 statyczne
224.0.0.251 01-00-5E-00-00-FB statyczny
224.0.0.252 01-00-5E-00-00-FC statyczny
239.255.255.250 01-00-5E-7F-FF-FA statyczne
255.255.255.255 FF-FF-FF-FF-FF-FF Static
Interfejs: 192.168.192.1 --- 0x16
Adres internetowy Typ adresu fizycznego
192.168.194.72 00-15-5D-A5-46-20 Dynamika
192.168.195.230 00-15-5D-A5-40-17 Dynamika
192.168.202.115 00-15-5D-A5-4A-C1 Dynamika
192.168.205.217 00-15-5D-A5-47-CD Dynamika
192.168.207.255 FF-FF-FF-FF-FF-FF Static
224.0.0.22 01-00-5e-00-00-16 statyczne
224.0.0.251 01-00-5E-00-00-FB statyczny
239.192.152.143 01-00-5e-40-98-8f statyczny
239.255.255.250 01-00-5E-7F-FF-FA statyczne

Dzięki konfiguracji projektu i przykładowym pliku możemy odczytać zawartość pliku.

Przeczytaj plik jako ciąg

Pierwszą i najprostszą metodą odczytania pliku w rdzy jest załadowanie go jako cały ciąg. Możemy to osiągnąć za pomocą metody STD :: fs :: read_to_string.

Poniższy kod pokazuje, w jaki sposób można odczytać plik jako ciąg w Rust:

Użyj STD :: FS :: Plik;
Użyj std :: io :: prelude ::*;
fn main ()
Let Mut File = File :: „ARP.tekst")
.oczekiwać („nie znaleziono pliku”);
LET MUT DATE = STRING :: new ();
plik.read_to_string (i dane MUT)
.oczekiwać („błąd podczas czytania pliku”);
println!("", dane);

Poprzedni kod importuje strukturę pliku i moduł Preludium. W głównej funkcji tworzymy zmienną zmienną o nazwie Plik i ładujemy otwórz ARP.plik txt do odczytu.

Następnie czytamy zawartość pliku za pomocą read_to_string i przekazujemy zmienne odniesienie do zmiennej danych. Następnie możemy wydrukować zawartość pliku za pomocą println! makro.

Możemy uruchomić kod jako:

$ Cargo Run

Odczyt wiersz pliku po wierszu

Możemy również odczytać wiersz plików za pomocą iteratora linii. Iterator będzie działał na bufreader z obiektu pliku. Przykładowy kod znajduje się poniżej:

Użyj STD :: FS :: Plik;
Użyj std :: io :: bufreader;
Użyj std :: io :: prelude ::*;
fn main ()-> std :: io :: wynik<()>
niech plik = plik :: otwórz (”ARP.tekst")
.spodziewaj się („Nie znaleziono pliku!");
niech buf_reader = bufreader :: new (plik);
dla linii w BUF_READER.linie()
println!("", linia?);

OK(())

Przeczytaj plik jako wektor

Możemy również odczytać plik jako wektor, jak pokazano na przykładowym kodzie poniżej:

fn read_file () -> std :: io :: wynik>
Let Mut File = File :: „ARP.tekst")?;
Niech mut buf = vec :: new ();
plik.read_to_end (& MUT Data);
return OK (dane);

Poprzedni kod używa VEC :: Nowa metoda do utworzenia nowego pustego wektora. Następnie używamy read_to_end do odczytania bajtów do końca pliku i umieszczania ich w buforze.

Wniosek

W tym artykule omówiliśmy podstawy pracy plików za pomocą języka programowania rdzy. Ponadto zilustrowaliśmy różne metody i techniki używane do odczytu plików. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby uzyskać więcej wskazówek i informacji.