高手请进。在 C#里 一个TXT文档,里面有N行,如何判断内容重复。 20
4个回答
展开全部
LZ能不能说明下具体的比较方式呢?是按行比较还是其他的方式呢?下面给你按行读取文本的代码,读出后放大string型的数组内:
/// <summary>
///用于按照预先约定的要求读取文档数据
/// </summary>
/// <param name="filepath">输入参数文件路径</param>
/// <returns>返回一个数组</returns>
public static string[][] rowReadFile(string filepath)
{
//通过使用FileStream打开一个文本流,可以进行更精细的文件打开控制。
FileStream fs = File.Open(filepath, FileMode.OpenOrCreate);
//从流中构造StreamReader类实例
StreamReader sr = new StreamReader(fs, Encoding.Default);
string[] res= new string[100];//100可以自己改掉,也可以传进去
int i = 0;
while (!sr.EndOfStream)
{
string temp = sr.ReadLine().ToString();
res[i] = temp;
i++;
}
sr.Close();
return res;
}
剩下的事情就是遍历数组,比较是否有重复的行。
/// <summary>
///用于按照预先约定的要求读取文档数据
/// </summary>
/// <param name="filepath">输入参数文件路径</param>
/// <returns>返回一个数组</returns>
public static string[][] rowReadFile(string filepath)
{
//通过使用FileStream打开一个文本流,可以进行更精细的文件打开控制。
FileStream fs = File.Open(filepath, FileMode.OpenOrCreate);
//从流中构造StreamReader类实例
StreamReader sr = new StreamReader(fs, Encoding.Default);
string[] res= new string[100];//100可以自己改掉,也可以传进去
int i = 0;
while (!sr.EndOfStream)
{
string temp = sr.ReadLine().ToString();
res[i] = temp;
i++;
}
sr.Close();
return res;
}
剩下的事情就是遍历数组,比较是否有重复的行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
展开全部
先全部读取出来,分别放到两个集合(a,b)里面,循环比对,将相同的行存放到另外一个集合(c)里
如果c里面有内容则有重复,如果没有则没有重复
如果c里面有内容则有重复,如果没有则没有重复
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace findsame
{
class Program
{
static void Main(string[] args)
{
try
{
find(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.ReadKey();
}
}
public static void find(string path)
{
List<string> ls = read(path);
ls.Sort();
for (int i = 0; i < ls.Count-1; i++)
{
if (ls[i] == ls[i + 1])
{
ls.RemoveAt(i + 1);
}
}
print(ls);
write(path, ls);
}
public static List<string> read(string path)
{
List<string> ls = new List<string>();
FileStream fs = new FileStream(path, FileMode .Open);
StreamReader sr=new StreamReader (fs);
while (!sr.EndOfStream)
{
ls.Add(sr.ReadLine());
}
sr.Close();
fs.Close();
return ls;
}
public static List<string> write(string path,List <string > ls)
{
FileStream fs = new FileStream(path, FileMode.Open,FileAccess .ReadWrite );
StreamWriter sr = new StreamWriter(fs);
for (int i = 0; i < ls.Count; i++)
{
sr.WriteLine (ls[i]);
}
sr.Close();
fs.Close();
return ls;
}
public static void print(List<string> ls)
{
for (int i = 0; i < ls.Count; i++)
{
Console.WriteLine(ls[i]);
}
}
}
}
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace findsame
{
class Program
{
static void Main(string[] args)
{
try
{
find(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.ReadKey();
}
}
public static void find(string path)
{
List<string> ls = read(path);
ls.Sort();
for (int i = 0; i < ls.Count-1; i++)
{
if (ls[i] == ls[i + 1])
{
ls.RemoveAt(i + 1);
}
}
print(ls);
write(path, ls);
}
public static List<string> read(string path)
{
List<string> ls = new List<string>();
FileStream fs = new FileStream(path, FileMode .Open);
StreamReader sr=new StreamReader (fs);
while (!sr.EndOfStream)
{
ls.Add(sr.ReadLine());
}
sr.Close();
fs.Close();
return ls;
}
public static List<string> write(string path,List <string > ls)
{
FileStream fs = new FileStream(path, FileMode.Open,FileAccess .ReadWrite );
StreamWriter sr = new StreamWriter(fs);
for (int i = 0; i < ls.Count; i++)
{
sr.WriteLine (ls[i]);
}
sr.Close();
fs.Close();
return ls;
}
public static void print(List<string> ls)
{
for (int i = 0; i < ls.Count; i++)
{
Console.WriteLine(ls[i]);
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询