c filestream streamwriter
I den här självstudien kommer du att lära dig mer om System.IO som är ett C # -namnområde. Detta namnutrymme tillhandahåller C # -klasser som FileStream, StreamWriter, StreamReader för att hantera fil I / O:
hur man använder team foundation server
En fil är i grunden ett systemobjekt som lagras i minnet i en viss katalog med ett riktigt namn och tillägg. I C # kallar vi en fil som ström om vi använder den för att skriva eller läsa data.
I den här handledningen kommer vi att undersöka både inmatningsströmmen som används för att hämta data från en viss fil och utdataströmmen som används för att lägga in data i en fil.
=> Se vår ultimata C # -träningsguide här
Vad du kommer att lära dig:
System.IO namnområde
System.IO är ett namnområde som finns i C # som innehåller klasser som kan användas för att utföra olika operationer på en viss ström som att skapa, redigera och hämta data från en viss fil.
Låt oss ta en titt på några av dessa klasser.
C # FileStream
Filström erbjuder en sökväg för att utföra filåtgärder. Den används huvudsakligen för att läsa och skriva data i filerna.
Exempel på att skriva i en fil:
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'); } } }
Här skrev vi ett enkelt program för att skriva en enda byte-data i filen med filström. Först skapade vi ett FileStream-objekt och skickade namnet på filen. Sedan ställer vi in filläget för att öppna eller skapa. I den öppnade filen skrev vi en enda byte med WriteByte och slutligen stängde vi allt.
Utgången är en txt-fil med en enda byte.
Exempel på att läsa en fil
I vårt tidigare exempel lärde vi oss att skriva in en fil nu, låt oss försöka läsa filen.
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(); } } }
Här har vi använt ReadByte för att läsa byten från filen. Detta kommando används för att läsa en enda byte från filen. Om du vill läsa mer data måste du skicka den genom en slinga. Vi lagrade sedan den i en char-variabel men eftersom returtypen inte alltid kommer att matcha för ReadByte har vi också lagt till en roll för char.
Om vi kör det här programmet observeras följande utdata.
Produktion
Filen har öppnats
Data som läses från filen är: F
File Stream stängd
C #StreamWriter
StreamWriter-klassen i C # används för att skriva tecken till en ström. Den använder TextWriter-klassen som basklass och ger överbelastningsmetoder för att skriva data till en fil.
StreamWriter används främst för att skriva flera tecken med data i en fil.
Exempel:
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(); } } }
Efter att ha initierat FileStream-objektet initierade vi också StreamWriter-objektet med FileStream-objektet. Sedan använde vi WriteLine-metoden för att skriva en enda datarad i filen. Vi stängde sedan StreamWriter och sedan FileStream.
Utgången från följande kod kommer att vara en fil med användardata skrivna i den.
vanliga frågor och svar på informatica-intervjuer
Produktion
C #StreamReader
StreamReader används för att läsa strängar eller stora meningar från en fil. StreamReader använder också klassen TextReader som basklass och erbjuder sedan metoder som Reading och ReadLine för att läsa data från strömmen.
Exempel på läsning av data:
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(); } } }
Här har vi skapat ett objekt från StreamReader med FileStream. Sedan använde vi en enkel readline-metod för att läsa data från filen. Vi stängde StreamReader och sedan FileStream.
Ovanstående program gav följande resultat:
Produktion:
Filen har öppnats
Läser data från filen
Data från filen är: Skriva data i fil med hjälp av streamwriter
File Stream stängd
gratis anime-webbplatser att titta på online
C #TextWriter
I C # skrivs TextWriter-klassen som en abstrakt klass. Den används för att skapa en sekventiell serie av tecken i en fil. Det är ganska likt strömförfattaren som också tillåter användaren att skriva sekventiella tecken eller text i en fil men det kräver inte att FileStream skapas för operationen.
Exempel på hur TextWriter fungerar:
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(); } } }
Ovanstående kod fungerar som StreamWriter. WriteLine-metoden skriver data i filen. Du kan skriva flera data i filen genom att använda flera WriteLine-metoder inuti användningsblocket.
Utdata skapar en textfil med den användardefinierade texten.
Produktion:
C #TextReader
Textläsare är en annan klass som finns i System.IO. Den används för att läsa text eller någon sekventiell karaktär från en viss fil.
Exempel:
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(); } } }
I ovanstående program har vi använt TextReader för att öppna en fil som förvaras på en viss plats. Sedan förklarade vi en strängvariabel för att lagra data i filen. ReadToEnd-metoden säkerställer att all data i filen har lästs. Därefter skrev vi ut data till konsolen.
Resultatet från ovanstående program kommer att vara:
Den första raden med textförfattare
Slutsats
System.IO-namnutrymmet i C # erbjuder olika klasser och metoder för att göra det möjligt för programmerare att utföra läs- och skrivåtgärder på olika filer. System.IO innehåller flera klasser som FileStream, StreamReader, StreamWriter, TextReader, TextWriter etc.
Alla dessa klasser ger en specifik implementering för lässkrivningsoperationerna på filen beroende på kravet.
Kodprov
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(); } } }
=> Se hela C # Training Series här
Rekommenderad läsning
- Filmanipulation i Unix: Översikt över Unix File System
- Unix specialtecken eller metatecken för filmanipulation
- Unix File Access Permissions: Unix Chmod, Chown och Chgrp
- VBScript-filobjekt: CopyFile, DeleteFile, OpenTextFile, Läs och skriv textfil
- Filinmatningsutmatningsfunktioner i C ++
- Java-distribution: Skapande och utförande av Java JAR-fil
- Hur man jämför två filer i Unix: kommandon för filjämförelse
- Avancerat Unix Shell-skript: Arrayer, fil- och strängtestoperatörer, speciella variabler