PDA

View Full Version : سوال: مقایسه دو فایل متنی با هم



InvBoy01001
سه شنبه 26 فروردین 1393, 11:03 صبح
سلام
من دوتا سوال داشتم
1) می خوام یک برنامه بنویسم که یک متن چند خطی را در یک فایل txt ذخیره کنه .
2)می خوام یک برنامه بنویسم که دوتا فایل txt با هم مقایسه کنه .
ممنون میشم دوستان کمک کنید!

arash69
سه شنبه 26 فروردین 1393, 11:26 صبح
سلام
من دوتا سوال داشتم
1) می خوام یک برنامه بنویسم که یک متن چند خطی را در یک فایل txt ذخیره کنه .
2)می خوام یک برنامه بنویسم که دوتا فایل txt با هم مقایسه کنه .
ممنون میشم دوستان کمک کنید!

سلام؛
در رابطه با ذخیره متن در فایل txt. ؛ ضمیمه ای که پیوست کردم رو ببینید، میتونید نحوه کار رو یاد بگیرین.
118007
اما در رابطه با مقایسه ی دو فایل متنی، یکی از راه هایی که میشه پیشنهاد داد؛ به این شکل هست:
هر دو فایل رو سطر به سطر، داخل یک آرایه خوانده؛ سپس آرایه ها رو باهم مقایسه می کنیم.

behzadkhan
سه شنبه 26 فروردین 1393, 14:44 عصر
با سلام

سوال: نتیجه مقایسه چه چیزی باید باشد؟

با تشکر

InvBoy01001
سه شنبه 09 اردیبهشت 1393, 18:46 عصر
سلام؛
در رابطه با ذخیره متن در فایل txt. ؛ ضمیمه ای که پیوست کردم رو ببینید، میتونید نحوه کار رو یاد بگیرین.
118007
اما در رابطه با مقایسه ی دو فایل متنی، یکی از راه هایی که میشه پیشنهاد داد؛ به این شکل هست:
هر دو فایل رو سطر به سطر، داخل یک آرایه خوانده؛ سپس آرایه ها رو باهم مقایسه می کنیم.
خوب حالا برای مقایسه سطر به سطر نمونه کد دارید که من ازش استفاده کنم؟

InvBoy01001
سه شنبه 09 اردیبهشت 1393, 18:47 عصر
با سلام

سوال: نتیجه مقایسه چه چیزی باید باشد؟

با تشکر

فقط در صورت برابری کامل در یک مسیج باکس یک پیغام بده

simorgh-hossein
سه شنبه 09 اردیبهشت 1393, 19:01 عصر
سلام
چند نوع مقایسه هست که میتونی انجام بدی !
نوع اول : 2 تا فایل رو مقایسه کنی و نتیجه رو در فایل سوم ذخیره کنی :

String directory = @"C:\Whatever\";String[] linesA = File.ReadAllLines(Path.Combine(directory, "FileA-Database.txt"));
String[] linesB = File.ReadAllLines(Path.Combine(directory, "FileB-Database.txt"));


IEnumerable<String> onlyB = linesB.Except(linesA);


File.WriteAllLines(Path.Combine(directory, "Result.txt"), onlyB);

نوع دوم :

List<string> file1Lines = new List<string>();List<string> file2Lines = new List<string>();


while ((line = file.ReadLine()) != null)
{
file1Lines.Add(line);
}


while ((line2 = file2.ReadLine()) != null)
{
file2Lines.Add(line2);
}


foreach (string f1line in file1Lines)
{
foreach (string f2line in file2Lines)
{
if (f1line.Contains(f2line))
{
dest.WriteLine("LineNo : " + counter.ToString() + " : " + f1line + "<br />");
}


}
counter++;
}