执行代码string csvFileName = Path.Combine(@"E:\report", fileName + ".csv"); if (File.Exists(csvFileName)) { File.Delete(csvFileName); } using (StreamWriter sw = new StreamWriter(csvFileName, true, Encoding.UTF8)) 表头{ sw.WriteLine("Test Model: " + exParams.GetParameter("Model") + "--特斯拉烧录系统"); sw.WriteLine("Software Version: " ); sw.WriteLine("Serial Number: " + barcode); sw.WriteLine("Start Time: " ); sw.WriteLine("Test Time: " + testTime); sw.WriteLine("Test Result: " + result); sw.WriteLine("Test Operator: " ); sw.WriteLine("Test Equipment Number: " + exParams.GetParameter("E_NO")); sw.WriteLine("Burnprocess: " + exParams.GetParameter("Process")); sw.WriteLine("************************************************************************************************************************"); } }在转换后,之前的txt文件内容不见了,只剩添加的表头了
时间: 2023-06-18 16:04:26 浏览: 89
根据你提供的代码,可以看出是在指定的文件路径下创建一个新的 CSV 文件,并将指定的表头写入到文件中。由于使用了 `StreamWriter` 的构造函数中的 `true` 参数,表示在文件末尾追加内容,所以如果文件已经存在,会先将其删除,然后再创建新的文件,并将表头写入。
如果你想要将之前的 TXT 文件内容也写入到新的 CSV 文件中,可以在表头写入完成之后,再读取之前的 TXT 文件内容,将其逐行写入到 CSV 文件中即可。你可以在代码中添加以下内容:
```
// 读取之前的 TXT 文件内容
string txtFileName = Path.Combine(@"E:\report", fileName + ".txt");
if (File.Exists(txtFileName))
{
using (StreamReader sr = new StreamReader(txtFileName))
{
string line;
while ((line = sr.ReadLine()) != null)
{
sw.WriteLine(line);
}
}
}
```
这样就可以将之前的 TXT 文件内容与表头一起写入到新的 CSV 文件中了。
相关问题
string csvFileName = Path.Combine(@"E:\report\", fileName + ".csv"); if (File.Exists(csvFileName)) { File.Delete(csvFileName); } using (StreamWriter sw = new StreamWriter(csvFileName, false, Encoding.UTF8)) { sw.WriteLine("Test Model: " + exParams.GetParameter("Model") + "--特斯拉烧录系统"); sw.WriteLine("Software Version: " ); sw.WriteLine("Serial Number: " + barcode);在转换后,之前的txt文件内容不见了,只剩添加的表头了
根据你提供的代码,我看到你使用了StreamWriter来写入csv文件。在使用StreamWriter时,如果指定了第二个参数为false,则会覆盖已有的文件,如果指定为true,则会在文件末尾追加内容。
因此,我猜测你在写入csv文件时,指定了第二个参数为false,导致原有的文件内容被覆盖掉了,只剩下了你添加的表头。你可以尝试将第二个参数改为true,即使用以下代码:
```csharp
using (StreamWriter sw = new StreamWriter(csvFileName, true, Encoding.UTF8))
{
sw.WriteLine("Test Model: " + exParams.GetParameter("Model") + "--特斯拉烧录系统");
sw.WriteLine("Software Version: " );
sw.WriteLine("Serial Number: " + barcode);
}
```
这样,你的代码就能够在原有文件的基础上追加内容,而不会覆盖掉原有内容了。
执行代码string csvFileName = Path.Combine(@"E:\report", fileName + ".csv"); if (File.Exists(csvFileName)) { File.Delete(csvFileName); } using (StreamWriter sw = new StreamWriter(csvFileName, true, Encoding.UTF8)) 表头{ sw.WriteLine("Test Model: " + exParams.GetParameter("Model") + "--特斯拉烧录系统"); sw.WriteLine("Software Version: " ); sw.WriteLine("Serial Number: " + barcode); sw.WriteLine("Start Time: " ); sw.WriteLine("Test Time: " + testTime); sw.WriteLine("Test Result: " + result); sw.WriteLine("Test Operator: " ); sw.WriteLine("Test Equipment Number: " + exParams.GetParameter("E_NO")); sw.WriteLine("Burnprocess: " + exParams.GetParameter("Process")); sw.WriteLine("************************************************************************************************************************"); } }在转换后,之前的txt文件内容不见了,只剩添加的表头了。在此基础上改,先转换,再将表头添加到csv文件中,txt文件内容紧随其后
可以尝试以下代码:
```
string txtFileName = Path.Combine(@"E:\report", fileName + ".txt");
string csvFileName = Path.Combine(@"E:\report", fileName + ".csv");
if (File.Exists(csvFileName)) {
File.Delete(csvFileName);
}
// 读取txt文件内容
string txtContent = File.ReadAllText(txtFileName, Encoding.UTF8);
using (StreamWriter sw = new StreamWriter(csvFileName, true, Encoding.UTF8)) {
// 先写入表头
sw.WriteLine("Test Model: " + exParams.GetParameter("Model") + "--特斯拉烧录系统");
sw.WriteLine("Software Version: ");
sw.WriteLine("Serial Number: " + barcode);
sw.WriteLine("Start Time: ");
sw.WriteLine("Test Time: " + testTime);
sw.WriteLine("Test Result: " + result);
sw.WriteLine("Test Operator: ");
sw.WriteLine("Test Equipment Number: " + exParams.GetParameter("E_NO"));
sw.WriteLine("Burnprocess: " + exParams.GetParameter("Process"));
sw.WriteLine("************************************************************************************************************************");
// 写入txt文件内容
sw.WriteLine(txtContent);
}
```
首先读取原来的txt文件内容,然后将表头和txt文件内容一起写入到csv文件中。注意添加了`true`参数,表示以追加方式写入文件。