Hogyan olvastassunk be txt fájlt ha több adatot tartalmaz?
Adott egy txt fájl számokkal, pl:
12 03 65 238
32 46 72 881
vagy:
Kacsa:24
Liba:40
Malac:71
Ezt hogy tudnám beolvastatni különböző változókba?
Visual Basic és C# nyelvben programozok, elég lenne csak az egyikben leírni a menetet. Elöre is köszönöm a hasznos válaszokat.
Forrás:
Reiter István
C#
2009, 0.91 verzió
===========================
using System;
using System.IO;
class Program
{
static public void Main()
{
FileStream fs = new FileStream("Text.txt", FileMode.Open);
StreamReader rs = new StreamReader(fs);
string s = rs.ReadLine();
while(s != null)
{
Console.WriteLine(s);
s = rs.ReadLine();
}
rs.Close();
fs.Close();
Console.ReadKey();
}
}
Az IO osztályok a System.IO névtérben vannak.
A C# ún. stream –eket, adatfolyamokat használ az IO mveletek végzéséhez. Az
els sorban megnyitottunk egy ilyen folyamot és azt is megmondtuk, hogy mit
akarunk csinálni vele.
A FileStream konstruktorának els paramétere a file neve. Ha nem adunk meg teljes
elérési útat, akkor automatikusan a saját könyvtárában fogja keresni a program. Ha
küls könyvtárból szeretnénk megnyitni az állományt, akkor azt a következképpen
tehetjük meg:
145
FileStream fs = new FileStream("C:\\Egymasikkonyvtar\\Masikkonyvtar\\text.txt",
FileMode.Open);
Azért használunk dupla backslash –t (\), mert az egy ún. escape karakter, magában
nem lehetne használni (persze ez nem azt jelenti, hogy minden ilyen karaktert
kettzve kellene írni, minden ilyen esetben a backslash –t kell használnunk).
Egy másik lehetség, hogy az „at” jelet (@) használjuk az elérési út eltt, ekkor nincs
szükség dupla karakterekre, mivel minden karaktert normális karakterként fog
értelmezni:
FileStream fs = new FileStream(@"C:\Egymasikkonyvtar\Masikkonyvtar\text.txt",
FileMode.Open);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!