PDA

View Full Version : سوال: مشکل در خواندن و نوشتن فایل Text



ma.rad
چهارشنبه 14 اردیبهشت 1390, 09:59 صبح
من میخوام یه فایل txt بخونم وبنویسم که به صورت زیره:


0203106001
اصفهان
کاشان
آران وبیدگل

حالا برای خوندن اینطوری نوشتم
string code = objstream.ReadLine();
txtMcode.Text = code.Substring(0, 2);
txtNcode .Text = code.Substring(2,3);
txtHcode.Text = code.Substring(5, 2);
txtPcode.Text = code.Substring(7, 3);
txtPname.Text = objstream.ReadLine();
txtCname.Text = objstream.ReadLine();
txtFname.Text = objstream.ReadLine();

حالا برای نوشتنش باید چی بنویسم؟

aisana
چهارشنبه 14 اردیبهشت 1390, 10:05 صبح
سلام این جارو ببین http://www.csharp-station.com/HowTo/ReadWriteTextFile.aspx

haghft
چهارشنبه 14 اردیبهشت 1390, 10:07 صبح
چرا از readAllLines و writeAllLines استفاده نکردی؟

aisana
چهارشنبه 14 اردیبهشت 1390, 10:09 صبح
فکر کنم موقعه نوشتن بنویسی StreamWriter sw11 = new StreamWriter(@"c:\myfile.txt", true, Encoding.UTF8); درست شه

Afshin160
چهارشنبه 14 اردیبهشت 1390, 10:16 صبح
سلام...

براي نوشتن :

using (System.IO.StreamReader sr = new System.IO.StreamReader(pathbace2 ))
{
while ((line = sr.ReadLine()) != null)
{
system.Windows.Forms.MessageBox.Show(line);
}
}



براي خواندن :



string pathbace1 ,pathbace2,line;
using (System.IO.StreamWriter sw1 = new System.IO.StreamWriter(pathbace1 )
{//@"C:\Dimension-1.dxf"
sw1=sw2.WriteLine("afshin160");
}

ma.rad
چهارشنبه 14 اردیبهشت 1390, 10:21 صبح
متاسفانه با روشی که گفته جواب نمی ده
هیچ فایلی تولید نمی کنه

ma.rad
چهارشنبه 14 اردیبهشت 1390, 10:25 صبح
دوستان اگه برای نوشتن اون سه خط بگن وهمچنین ذخیره به صورت unicode بهتره
البته من از (saveFileDialog1 استفاده میکنم

haghft
چهارشنبه 14 اردیبهشت 1390, 11:22 صبح
این برای نوشتن:
System.IO.File.WriteAllLines(@"D:\a.txt", new string[] { textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text }, Encoding.UTF8);
اینم برای خوندن:
string[] values = System.IO.File.ReadAllLines(@"D:\a.txt", Encoding.UTF8);
textBox1.Text = values[0];
textBox2.Text = values[1];
textBox3.Text = values[2];
textBox4.Text = values[3];

haghft
چهارشنبه 14 اردیبهشت 1390, 19:29 عصر
آقا اگه مشکلتون حل شده تشکر کنید که بفهمیم اگر هم نشده یه پست بدین و بگید کجاش مشکل داره.

Afshin160
پنج شنبه 15 اردیبهشت 1390, 10:33 صبح
دوست عزيز اون pathbace1 = آدرس و نام وفرمت فايل مثلا" :@"C:\Dimension-1.dxf"

و pathbace2 = مسير و نام فايلي كه مي خواهيد بخوانيد

ma.rad
پنج شنبه 15 اردیبهشت 1390, 22:26 عصر
سلام دوستان تا اینجا شو نوشتم وعدد مورد نظر تو فایل ذخیره میکنه ولی برای ثبت نوشته ها در خط بعد باید چی بنویسم
وهمینطور زمانی که saveFileDialog1 باز مشه میخوام قسمت fileName اون برابر مقدار یکی از تکس باکس ها باشه
private void btnSaveFile_Click(object sender, EventArgs e)
{
if (saveFileDialog1 .ShowDialog() == DialogResult.OK)
{

File.WriteAllText(txtPname.Text + ".txt", txtMcode.Text + txtNcode.Text + txtHcode.Text + txtPcode.Text, Encoding.UTF8 );
}

}

ولی

haghft
جمعه 16 اردیبهشت 1390, 07:57 صبح
دقیقا منظورت از ثبت نوشته ها چیه چون با این دستور که فایل با اون تکست های موردنظر ثبت و ذخیره میشه.
این کدو قبل از دستور if (saveFileDialog1 .ShowDialog() == DialogResult.OK) بنویس.
saveFileDialog1.filename=textbox1.text;

ma.rad
جمعه 16 اردیبهشت 1390, 10:49 صبح
من میخوام یه فایل txt بخونم وبنویسم که به صورت زیره:


0203106001
اصفهان
کاشان
آران وبیدگل


من میخواستم متن با لا رو ذخیره کنم با دستوری که نوشتم رشته عددی ذخیره میشه ولی نمی دونم نام شهرها رو چطوری هر کدوم را در خط جدید ذخیره کنم
نمی خوام همش تو یه سطر ذخیره بشه

ma.rad
جمعه 16 اردیبهشت 1390, 11:28 صبح
دوستان کسی میدونه

exlord
جمعه 16 اردیبهشت 1390, 12:26 عصر
File.WriteAllLines("filepath", new string[] { string1 , string2 , string3 });

ma.rad
جمعه 16 اردیبهشت 1390, 12:47 عصر
من از saveFileDialog1 استفاده میکنم و file path ندارم

Farshid007
جمعه 16 اردیبهشت 1390, 13:34 عصر
من از saveFileDialog1 استفاده میکنم و file path ندارم
FileNameهمون Savepath
به این مثال توجه کن
string[]S={"Salam","Khub?"};
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.File.WriteAllLines(saveFileDialog1.FileN ame, S, UTF8Encoding.UTF8);

}

Farshid007
جمعه 16 اردیبهشت 1390, 13:39 عصر
مشکلت حل شد؟

ma.rad
جمعه 16 اردیبهشت 1390, 13:46 عصر
این چیزی که گفتی تو یه سطر ذخیر میکنه
میخوام تو سه سطر باشه

ma.rad
جمعه 16 اردیبهشت 1390, 13:52 عصر
حل شد دمتون گرم

Farshid007
جمعه 16 اردیبهشت 1390, 17:02 عصر
خوب ارایه من دو خطی هستش چجوری تو سه خط ذخیره بشه!
منظورتو خوب متوجه نمیشم!

ma.rad
جمعه 16 اردیبهشت 1390, 17:44 عصر
اون قسمت حل شد
چطوری میتونم بگم save dialog1 به طور پیش فرض توی مسیر بازبشه
مثل پوشه خاص

Farshid007
جمعه 16 اردیبهشت 1390, 20:50 عصر
فکر نکنم بشه
اگه بشه هم من بلد نیستم
معمولا saveFileDialogها به ادرسی که قبلا بودند باز می شند

ma.rad
جمعه 16 اردیبهشت 1390, 20:56 عصر
دوست عزیز شد به این شکل:
saveFileDialog1.InitialDirectory = System.Windows.Forms.Application.StartupPath + "\\code";

Farshid007
شنبه 17 اردیبهشت 1390, 11:02 صبح
خودت سوال می پرسی خودت هم جواب می دی!

josephx86
سه شنبه 12 آذر 1392, 02:00 صبح
سلام دوستان
من الکترونیکی هستم و توی C# تازه کار! میخوام فایل تکستی که درست میکنم در پوشه ی جاری یعنی همون پوشه ای که فایل exe برنامه توش قرار داره ذخیره بشه. چطورباید این کارو بکنم.
ممنون از توجه تون

rahnema1
سه شنبه 12 آذر 1392, 08:26 صبح
سلام دوستان
من الکترونیکی هستم و توی C#‎ تازه کار! میخوام فایل تکستی که درست میکنم در پوشه ی جاری یعنی همون پوشه ای که فایل exe برنامه توش قرار داره ذخیره بشه. چطورباید این کارو بکنم.
ممنون از توجه تون

:اون فولدر Application.StartupPath هست