8.2. Файлга чиқариш ва файлдан ўқиш
Баъзи холларда маълумотларни файлга киритиш ва файлдан ўқишга тўғри келиб қолади. Файллар билан ишлаш тўғрисида кейинги маърузаларда тўлиқроқ танишиб чиқамиз. Ҳозир эса файлга қандай чиқариш ва ундан қандай ўқиб олишни кўриб чиқамиз.
8.2.1 листингда 8.1.1 листингда дастур келтирилган, фақат бу ерда маълумотлар экранга эмас, output.txt файлига чиқарилади. Файл дастур қаердан ишга туширилса ана шу каталогда яратилади.
using System;
using System.IO; // 1
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
StreamWriter f = new StreamWriter( "output.txt" ); // 2
int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Вася";
f.WriteLine( "i = " + i ); // 3
f.WriteLine( "s = " + s ); // 4
f.WriteLine( "y = {0} \nd = {1}", y, d ); // 5
f.Close(); // 6
}
}
}
Листинг 8.2.1. Файлга чиқариш
Дастурда файллар билан ишлаш учун, қуйидагиларни бажариш лозим:
1. Файллар билан ишлашга мўлжалланган номлар макони(кутубхона)ни фойдаланиш учун боғлаб олиш. //1 – оператор(бу қаторда фойдаланилган номлар макони System.IO);
2. Файлли ўзгарувчи эълон қилиш ва уни бирор файл билан боғлаш. //2-оператор(мисолда StreamWriter типидаги f номли файлли ўзгарувчи яратиб олиб, унга "output.txt" номли файл боғлаб олиняпти.);
3. Файлга киритиш ва чиқаришни амалга ошириш.//3-,//4-//5-операторлар(f.WriteLine() – f га боғланган файлга ёзиш(чиқариш)ни амалга оширади);
4. Файлни беркитиш. //6- оператор(f.Close()- файлни беркитиш;)
Файлдан маълумотни ўқиш ҳам худди шу тартибда амалга оширилади. Файлдан маълумотни ўқиб олиш учун файлли ўзгарувчининг ReadLine() услубидан фойдаланилади.
8.2.2 – листингда 8.1.2 листингдаги дастур келтирилган, фақат маълумотлар клавиатурадан эмас, D:\C# каталогдаги input.txt файлидан ўқиб олинади.
using System;
using System.IO;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
StreamReader f = new StreamReader( "d:\\C#\\input.txt" );
string s = f.ReadLine();
Console.WriteLine( "s = " + s );
char c = (char)f.Read();
f.ReadLine();
Console.WriteLine( "c = " + c );
string buf;
buf = f.ReadLine();
int i = Convert.ToInt32( buf );
Console.WriteLine( i );
buf = f.ReadLine();
double x = Convert.ToDouble( buf );
Console.WriteLine( x );
buf = f.ReadLine();
double y = double.Parse( buf );
Console.WriteLine( y );
buf = f.ReadLine();
decimal z = decimal.Parse( buf );
Console.WriteLine( z );
f.Close();
}
}
}
Листинг 8.2.2. Файлдан ўқиш.
Файлдан ўқиб олинаётган маълумотлар, файлда мавжуд бўлиши ва ҳар бир қатордаги маълумот у ўзлаштирилаётган ўзгарувчига мос тип диапазонида бўлиши лозим. Файлдаги ҳар бир қатор навбатма-навбат ReadLine() услуби орқали ўқиб олинади.
input.txt файлининг ичидаги маълумотлар:
Sultonov Abdulaziz
S
1234
45.5
-458.2
10.21
Do'stlaringiz bilan baham: |