我想在C#中将目录的全部内容从一个位置复制到另一个位置.
似乎没有办法使用System.IO没有大量递归的类来完成此操作.
VB中有一个方法,如果我们添加一个引用,我们就可以使用它Microsoft.VisualBasic:
new Microsoft.VisualBasic.Devices.Computer().
FileSystem.CopyDirectory( sourceFolder, outputFolder );
Run Code Online (Sandbox Code Playgroud)
这似乎是一个相当丑陋的黑客.有没有更好的办法?
我试图csv使用C#语言逐行写入文件.这是我的功能
string first = reader[0].ToString();
string second=image.ToString();
string csv = string.Format("{0},{1}\n", first, second);
File.WriteAllText(filePath, csv);
Run Code Online (Sandbox Code Playgroud)
整个函数在循环内运行,每一行都应该写入csv文件.在我的情况下,下一行将覆盖现有行,最后,我在csv文件中获得了唯一一条记录,这是最后一行.如何写入csv文件中的所有行?
我正在编写一个简单的导入应用程序,需要读取CSV文件,在a中显示结果DataGrid并在另一个网格中显示CSV文件的损坏行.例如,显示另一个网格中短于5个值的行.我试着这样做:
StreamReader sr = new StreamReader(FilePath);
importingData = new Account();
string line;
string[] row = new string [5];
while ((line = sr.ReadLine()) != null)
{
row = line.Split(',');
importingData.Add(new Transaction
{
Date = DateTime.Parse(row[0]),
Reference = row[1],
Description = row[2],
Amount = decimal.Parse(row[3]),
Category = (Category)Enum.Parse(typeof(Category), row[4])
});
}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,在阵列上操作非常困难.有没有更好的方法来分割价值观?
目前,我有:
string outputRow = string.Empty;
foreach (var entityObject in entityObjects)
{
outputRow = entityObject.field1 + "," + entityObject.Field2 etc....
}
Run Code Online (Sandbox Code Playgroud)
我还是实体框架的新手,有更快的方法吗?
我使用OleDb数据读取器读取大量记录,然后将它们写入CSV.然后我使用这个CSV读取File.ReadAllLines,然后用逗号分割以获取我的数据.问题是CSV的某些部分包括一个我无法显示的字符(显示为正方形),它看起来像一个换行符 - 这个换行符破坏了CSV,所以我需要摆脱它.
我试着更换Environment.NewLine与写入CSV时,其他的东西(一个空格),并同上/r和/n,但无济于事-字符不会被替换.还有哪些方法可以删除这些?