我需要做的是在内存中创建一个文件,写入该文件,然后像访问任何其他文件一样访问该文件。
在这里,我正在创建和使用一个实际文件:
if (!File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")))
{
File.Create(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")).Dispose();
using (TextWriter tw = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")))
{
foreach (string[] array in listOfRows)
{
string dataString = array[0] + "," + array[1] + "," + array[2] + "," + array[3];
tw.WriteLine(dataString);
}
tw.Close();
}
}
else if (File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")))
{
using (TextWriter tw = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")))
{
foreach (string[] array in listOfRows)
{
string dataString = array[0] + "," + array[1] + "," + array[2] + "," + array[3];
tw.WriteLine(dataString);
}
tw.Close();
}
}
//makes virtual table to be copied to database
DataTable dt = new DataTable();
string line = null;
int i = 0;
using (StreamReader sr = File.OpenText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TEST.csv")))
{
//etc etc etc
}
Run Code Online (Sandbox Code Playgroud)
如您所见,目前我只是创建一个文件,然后将数据写入其中,然后使用该文件。如果我能在虚拟内存中完成所有这些对我来说会好得多,这可能吗?
好吧,您可以使用MemoryStream. 你不会用这种方法得到“线条”,但它很接近。
话虽如此,如果您立即编写和读取文件,这听起来就像您陷入困境。文件用于持久性。
如果您只想在内存中存储一系列字符串的集合,您想使用 aStringBuilder或者可能只是一个List<T>.
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |