一个模块使用
File.ReadAllBytes("path")
并将结果存储在数据库表中。
后来我从表中取出结果并正常使用
File.WriteAllBytes("outputPath", binary.Data)
写回文件。
现在我必须更改文件的内容。当然,我可以将文件写入临时文件夹,将其作为 File 对象读回,对其进行更改,然后将其写回目标文件夹。但是有没有更聪明的方法来做到这一点?直接从二进制数据中创建 File 对象?
一个模块使用
File.ReadAllBytes("path")
并将结果存储在数据库表中。
后来我从表中取出结果并正常使用
File.WriteAllBytes("outputPath", binary.Data)
写回文件。
现在我必须更改文件的内容。当然,我可以将文件写入临时文件夹,将其作为 File 对象读回,对其进行更改,然后将其写回目标文件夹。但是有没有更聪明的方法来做到这一点?直接从二进制数据中创建 File 对象?
得到了解决方案。它的编码类:
var binary = GetBinaryFileFromDatabase();
var inputLines = Encoding.Default.GetString(binary).Split('\n');
var outputLines = new List<string>();
foreach (var line in inputLines)
{
var columns = line.Split(';');
if (columns.Length > 28 && columns[28] != null && columns[28].Length > 0)
{
columns[28] = columns[28].Replace(Path.GetFileName(columns[28]), "SomeValue");
}
outputLines.Add(string.Join(";", columns));
}
File.WriteAllLines(outputPath, outputLines);
谢谢大家!