2012-06-26 4 views
0

기본적으로 Microsoft System.IO.File.Copy 라이브러리를 사용하지 않고 파일 (FAT 또는 NTFS가 작동 함)을 복사해야합니다. COSMOS (C# 오픈 소스 관리 운영 체제)로 작업 중이며 Windows가 아니기 때문에 File.Copy이 작동하지 않습니다.C#에서 파일을 플랫폼간에 복사하는 방법은 무엇입니까?

도움을 주시면 감사하겠습니다.

+1

내 생각에 대한 COSMOS 루틴 있다는 것입니다 이런 일종의 IO입니다. –

답변

2

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); 
    } 
} 

+0

[Stream.CopyTo] (http://msdn.microsoft.com/tr-tr/library/system.io.stream.copyto.aspx) –

+0

그 중 하나는 새로운 것입니다. 넷 4 저는 생각합니다. 코스모스는 ' 가지고있다. 하지만 그곳에 있다면, 반드시 OP가 그것을 다시 구현하는 대신 그것을 사용해야합니다. –

+0

그것은 '코스모스'와 관련이 없습니다. 그것은 귀하의 루프에 대한 대안입니다 –

관련 문제