我需要读取2个文件并以某种方式将它们组合起来并将它们作为响应1 我不想创建包含两个文件文本的新文件 这是我的代码来回复我的主文件,
FileStream fs = File.OpenRead(string.Format("{0}/neg.acc",
Settings.Default.negSourceLocation));
using (StreamReader sr = new StreamReader(fs))
{
string jsContent = sr.ReadToEnd();
context.Response.Write(jsContent);
}
我需要在主要完成后立即阅读我的第二个文件。
解释它的简单方法:
假设主文件包含:"你好"
第二个文件包含:"多么美好的一天"
我的回答应该是:
"你好"
"多么美好的一天"
提前致谢
答案 0 :(得分:1)
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string File1 = @"c:\temp\MyTest1.txt";
string File2 = @"c:\temp\MyTest2.txt";
if (File.Exists(File1))
{
string appendText = File.ReadAllText(File1);
if (File.Exists(File2))
{
appendText += File.ReadAllText(File2);
}
}
}
}
答案 1 :(得分:1)
FileStream也是StreamReader之类的一次性对象。最好将其包含在using语句中。另外,为了使代码更具可重用性,请将代码放入自己的方法中读取文本文件,如:
public static string CombineFilesText(string mainPath, string clientPath)
{
string returnText = ReadTextFile(mainPath);
returnText += ReadTextFile(clientPath);
return returnText;
}
private static string ReadTextFile(string filePath)
{
using (FileStream stream = File.OpenRead(filePath))
{
using (StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}
答案 2 :(得分:1)
好像你的问题需要asp.net标签
context.Response.WriteFile(Settings.Default.negSourceLocation + "/neg.acc");
context.Response.WriteFile(Settings.Default.negSourceLocation + "/neg2.acc");
答案 3 :(得分:0)
这就是我所做的,不确定它是否正确使用C#,
static public string CombineFilesText(string mainPath, string clientPath)
{
string returnText = "";
FileStream mfs = File.OpenRead(mainPath);
using (StreamReader sr = new StreamReader(mfs))
{
returnText += sr.ReadToEnd();
}
FileStream cfs = File.OpenRead(clientPath);
using (StreamReader sr = new StreamReader(cfs))
{
returnText += sr.ReadToEnd();
}
return returnText;
}