使用 c# 从各种形式读取或写入多个数据的最佳解决方案



我的问题是保存和读取文件。

您能否建议将各种形式的数据(主要是数字(保存到数据文件(可以是.txt,.dat等(中,然后从文件中读取特定数据的最佳方法...

例如。。

我写道:

数据 1 数据 2 数据 3

当等式中需要数据 3 时,它可以读取它并仅选择数据 3...

我现在想到的是每行保存数据,

例如:

数据1
数据 2 数据 3

所以当我需要数据 3 时,我只需要从第 3 行挑选数据来挑选数据 3。

怎么办?

我研究了一点,发现这个

string[] Lines = File.ReadAllLines("filename.txt");
Lines[1] = "second line new value";
File.WriteAllLines("filename.txt");

据我所知,该命令将在文件名.txt的第二行写入数据。如果是真的,如何阅读?

有没有更好的方法?

我不介意你只是粘贴一个网址让我阅读或直接发布示例代码。

试试这个:

Ir 通过使用 System.IO.File 类中的静态方法 ReadAllText 和 ReadAllLines 读取文本文件的内容。

// Read the file as one string.
string text = System.IO.File.ReadAllText(@"C:WriteText.txt");
// Display the file contents to the console. Variable text is string.
System.Console.WriteLine("Contents of WriteText.txt = {0}", text);
// Read each line of the file into a string array. 
// Each element of the array is one line of the file.
string[] lines = System.IO.File.ReadAllLines(@"C:WriteLines2.txt");
// Display the file contents by using a foreach loop.
System.Console.WriteLine("Contents of WriteLines2.txt = ");
foreach (string line in lines)
{
// Use a tab to indent each line of the file.
Console.WriteLine("t" + line);
}
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();

这是我针对此类问题的解决方案,当我想将一些数据保存在.txt配置文件中,然后我想检索该信息时。

这是 WriteToFile 方法,它还检查您插入的数据是否已在文件中:

using System.IO;
public void WriteToFile(string newData, string _txtfile)
{
List<string> ListToWrite = new List<string>();
/// Reads every line from the file
try
{
using (StreamReader rd = new StreamReader(_txtfile, true))
{
while (true)
{
ListToWrite.Add(rd.ReadLine().Trim());
}
}
}
catch (Exception)
{
}
try
{
/// Check if the string that you want to insert is already on the file
var x = ListToWrite.Single(a => a.Contains(newData));
/// If there's no exception, means that it found your string in the file, so lets delete it.
ListToWrite.Remove(x);
}
catch (Exception)
{
/// If a exception is thrown, it did not find your string so add it.
ListToWrite.add(newData);
}
/// Now is time to write the NEW file.
if (ListToWrite.Count > 0)
{
using (StreamWriter tw = new StreamWriter(_txtfile, true))
{
try
{
foreach (string s in l)
{
tw.WriteLine(s);
}
}
catch (Exception)
{
break;
}
}
}
}

现在,如果要通过使用字符串进行搜索来检索某些信息:

using System.IO;
public static string GetData(string _txtfile, string searchstring)
{
string res = "";
using (StreamReader rd = new StreamReader(_txtfile, true))
{
while (true)
{
try
{
string line = rd.ReadLine().Trim();
if (line.Contains(searchstring))
{
return line;
}
}
catch (Exception)
{
break;
}
}
}
return res;
}

你可以调整它并让它变得更好,但这目前对我有用。

相关内容

  • 没有找到相关文章

最新更新