如何在C#中跨平台复制文件?
基本上,我需要复制一个文件(FAT或NTFS都可以),而无需使用Microsoft如何在C#中跨平台复制文件?,c#,file,copy,cross-platform,C#,File,Copy,Cross Platform,基本上,我需要复制一个文件(FAT或NTFS都可以),而无需使用MicrosoftSystem.IO.file.copy库。我使用的是COSMOS(C#开源托管操作系统),因为它不是Windows,所以File.Copy不起作用 如果您有任何帮助,我们将不胜感激。您是否有System.IO命名空间的其他部分?最值得注意的是,各种溪流 如果没有,那么我看不出你应该如何复制任何东西 但是,假设您可以打开文件进行读写,您可以轻松实现自己的复制方法: private void CopyFile(stri
System.IO.file.copy
库。我使用的是COSMOS(C#开源托管操作系统),因为它不是Windows,所以File.Copy
不起作用
如果您有任何帮助,我们将不胜感激。您是否有System.IO命名空间的其他部分?最值得注意的是,各种溪流 如果没有,那么我看不出你应该如何复制任何东西 但是,假设您可以打开文件进行读写,您可以轻松实现自己的复制方法:
private void CopyFile(string source, string dest)
{
using (var input = new FileStream(source, FileMode.Open, FileAccess.Read))
using (var output = new FileStream(dest, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] data = new byte[1024];
int bytesRead = 0;
do
{
bytesRead = input.Read(data, 0, data.Length);
if (bytesRead > 0)
output.Write(data, 0, data.Length);
} while (bytesRead > 0);
}
}
(上面的代码未经测试)我猜这类IO有COSMOS例程。这是自.net 4以来新出现的,我认为COSMOS可能没有。但是如果它在那里,那么无论如何OP应该使用它,而不是重新实现它。它与
COSMOS
无关。这是一个不起作用的替代方案。因为COSMOS不支持这一点,所以您必须编写自己的FS驱动程序、HDD驱动程序以及整个shabang。哦,好吧,再见,宇宙