c filestream streamwriter
W tym samouczku dowiesz się o System.IO, który jest przestrzenią nazw C #. Ta przestrzeń nazw udostępnia klasy C #, takie jak FileStream, StreamWriter, StreamReader do obsługi operacji we / wy pliku:
informatica wywiad pytania i odpowiedzi pdf
Plik to w zasadzie obiekt systemowy przechowywany w pamięci w określonym katalogu z odpowiednią nazwą i rozszerzeniem. W C # nazywamy plik jako strumień, jeśli używamy go do zapisywania lub odczytywania danych.
W tym samouczku przyjrzymy się zarówno strumieniowi wejściowemu, który jest używany do pobierania danych z danego pliku, jak i strumieniowi wyjściowemu używanemu do umieszczania danych w pliku.
=> Sprawdź nasz kompletny przewodnik szkoleniowy C # tutaj
Czego się nauczysz:
Przestrzeń nazw System.IO
System.IO to przestrzeń nazw obecna w C #, która zawiera klasy, które mogą być używane do wykonywania różnych operacji na danym strumieniu, takich jak tworzenie, edytowanie i pobieranie danych z danego pliku.
Przyjrzyjmy się niektórym z tych zajęć.
C # FileStream
Strumień plików oferuje ścieżkę do wykonywania operacji na plikach. Służy głównie do odczytu i zapisu danych do plików.
Przykład zapisu do pliku:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); f.Close(); Console.WriteLine('File Stream closed'); } } }
Tutaj napisaliśmy prosty program do zapisywania danych jednobajtowych do pliku za pomocą strumienia pliku. Najpierw utworzyliśmy obiekt FileStream i przekazaliśmy nazwę pliku. Następnie ustawiamy tryb pliku na otwieranie lub tworzenie. W otwartym pliku zapisaliśmy pojedynczy bajt za pomocą WriteByte i wreszcie wszystko zamknęliśmy.
Dane wyjściowe to plik txt z pojedynczym bajtem.
Przykład odczytu pliku
W naszym poprzednim przykładzie nauczyliśmy się teraz pisać do pliku, spróbujmy go odczytać.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: '+a); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Tutaj użyliśmy ReadByte do odczytania bajtu z pliku. To polecenie służy do odczytu pojedynczego bajtu z pliku. Jeśli chcesz odczytać więcej danych, musisz przepuścić je przez pętlę. Następnie umieściliśmy go w zmiennej char, ale ponieważ typ zwracany nie zawsze będzie pasował do ReadByte, dodaliśmy również rzutowanie dla char.
Jeśli uruchomimy ten program, zostanie zaobserwowany następujący wynik.
Wynik
Plik otwarty
Dane odczytane z pliku to: F
Strumień plików zamknięty
C #StreamWriter
Klasa StreamWriter w języku C # służy do pisania znaków w strumieniu. Używa klasy TextWriter jako klasy bazowej i udostępnia metody przeciążenia służące do zapisywania danych do pliku.
StreamWriter służy głównie do zapisywania wielu znaków danych w pliku.
Przykład:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //closing stream writer s.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Po zainicjowaniu obiektu FileStream zainicjowaliśmy również obiekt StreamWriter przy użyciu obiektu FileStream. Następnie użyliśmy metody WriteLine, aby zapisać pojedynczy wiersz danych do pliku. Następnie zamknęliśmy StreamWriter, a następnie plik FileStream.
Wynik poniższego kodu będzie plikiem z zapisanymi w nim danymi użytkownika.
jak otworzyć pliki swf
Wynik
C #StreamReader
StreamReader służy do odczytywania ciągów lub dużych zdań z pliku. StreamReader używa również klasy TextReader jako klasy bazowej, a następnie oferuje metody, takie jak Reading i ReadLine, do odczytywania danych ze strumienia.
Przykład odczytu danych:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream writer sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Tutaj utworzyliśmy obiekt z StreamReader przy użyciu FileStream. Następnie użyliśmy prostej metody readline do odczytania danych z pliku. Zamknęliśmy StreamReader, a następnie plik FileStream.
Powyższy program wygenerował następujący wynik:
Wynik:
Plik otwarty
Odczytywanie danych z pliku
Dane z pliku to: Zapisywanie danych do pliku za pomocą programu zapisującego strumień
Strumień plików zamknięty
darmowe strony z anime do oglądania online
C #TextWriter
W języku C # klasa TextWriter jest zapisywana jako klasa abstrakcyjna. Służy do tworzenia sekwencyjnej serii znaków w pliku. Jest dość podobny do programu zapisującego strumień, który również umożliwia użytkownikowi zapisywanie kolejnych znaków lub tekstu w pliku, ale nie wymaga tworzenia FileStream dla operacji.
Przykład, aby dowiedzieć się, jak działa TextWriter:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } Console.ReadLine(); } } }
Powyższy kod działa podobnie do StreamWriter. Metoda WriteLine zapisuje dane w pliku. W pliku można zapisać wiele danych, używając wielu metod WriteLine w bloku instrukcji using.
Dane wyjściowe utworzą plik tekstowy z tekstem zdefiniowanym przez użytkownika.
Wynik:
C #TextReader
Czytnik tekstu to kolejna klasa, którą można znaleźć w System.IO. Służy do czytania tekstu lub dowolnego kolejnego znaku z podanego pliku.
Przykład:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
W powyższym programie użyliśmy TextReadera do otwarcia pliku, który jest przechowywany w określonej lokalizacji. Następnie zadeklarowaliśmy zmienną łańcuchową do przechowywania danych pliku. Metoda ReadToEnd zapewnia, że wszystkie dane w pliku zostały odczytane. Następnie wydrukowaliśmy dane na konsoli.
Wynik powyższego programu będzie:
Pierwsza linia z narzędziem do pisania tekstu
Wniosek
Przestrzeń nazw System.IO wewnątrz C # oferuje różne klasy i metody umożliwiające programistom wykonywanie operacji odczytu i zapisu na różnych plikach. System.IO zawiera kilka klas, takich jak FileStream, StreamReader, StreamWriter, TextReader, TextWriter itp.
Wszystkie te klasy zapewniają określoną implementację operacji odczytu i zapisu na pliku w zależności od wymagań.
Przykład kodu
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string() args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: ' + a); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
=> Obejrzyj całą serię szkoleń C # tutaj
rekomendowane lektury
- Manipulacja plikami w Uniksie: Przegląd systemu plików Unix
- Uniksowe znaki specjalne lub metaznaki do manipulacji plikami
- Uprawnienia dostępu do plików w systemie Unix: Unix Chmod, Chown i Chgrp
- Obiekty plików VBScript: CopyFile, DeleteFile, OpenTextFile, odczyt i zapis pliku tekstowego
- Operacje na plikach i danych wyjściowych w C ++
- Wdrażanie Java: tworzenie i wykonywanie pliku Java JAR
- Jak porównać dwa pliki w systemie Unix: polecenia porównywania plików
- Zaawansowane skrypty powłoki Unix: tablice, operatory testów plików i łańcuchów, zmienne specjalne