2013-12-20 2 views
0

리소스를 데이터베이스에서 현재 Windows 사용자 방향으로 문서 폴더로 사용하려는 파일을 복사하는 동안 문제가 있습니다. (file = Vorlage.csv)csv 리소스 파일을 하드 디스크에 복사하십시오.

저는 지금 4 시간 이래로 이것을 시도하고 인터넷에서 발견 한 모든 설명을 사용했지만 항상 오류가 발생합니다. 어쩌면 내가 아직 그 지식을 가지고 있지 않기 때문일 수도 있습니다. 나는 이런 식으로 작업을 수행 할 때

private void firststart() 
{ 
    ///Beim Ersten Start ausgeführt: 
    string direction = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 

    if (!(Directory.Exists(direction + "\\MKD-Manager"))) 
    { 
     ///Progrmmordner erstellen 
     Directory.CreateDirectory(direction + "\\MKD-Manager"); 
     ///Vorlage für die Datenbank Auf den Pc kopieren 
     File.WriteAllBytes(direction + "\\MKD-Manager\\Vorlage.doc", MyProgramm.Properties.Resources.Vorlage.csv); 
    } 
} 

, 나는

에서 "Vorlage.csv"파일을 찾을 수 없습니다 : 내가 인터넷의 지시했던 그래서

는 다음과 같은 코드입니다

MyProgramm.Properties.Ressources

그것은 단지 거기에 없습니다.

솔루션을 시도하는 동안 MyProgramm.Ressource1.Vorlage.csv 파일이 있음을 확인했습니다.

File.WriteAllBytes(direction + "\\MKD-Manager\\Vorlage.doc", MassageKundenDatenbank.Resource1.Vorlage); 

같은 것을 시도 할 때 바이트 유형으로 변환 할 수 없다는 오류가 발생합니다.

그래서 나는 그 오류를 이해하지 못해서 지금 당신에게 묻습니다. 이것이 너무 쉽다면 미안하지만, 나는 이해하지 못합니다. 내 응용 프로그램에서이 파일을이 폴더에 로컬로 저장하는 것이 중요합니다.

+1

질문에 전체 오류/예외 사항을 복사하십시오. –

+1

대답은 http://stackoverflow.com/questions/1709373/get-file-bytes-from-resource-file-in-c-sharp입니다. 또한 Vorlage.CSV를 받고 Vorlage.DOC을 쓰는 것에 주목하십시오. 또한 디렉토리를 생성하는'if' 파일 밖에서 파일을 옮겨야합니다. –

답변

0

부모 디렉토리가없는 경우 쓰기 작업 만하는 것처럼 보입니다.

byte[] myData = blah;//MyProgramm.Properties.Resources.Vorlage.csv 

string myDocuments = 
    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
string myDataDir = myDocuments + "\\MyDataDir"; 

if(Directory.Exists(myDataDirectory)){ 
    Directory.Create(myDataDirectory); 
} 
// This needs to be outside the if block to ensure the data is written even 
// regardless of if the data directory previously existed or not 
File.WriteAllBytes(myDataDirectory + "\\myFile.csv", myData); 
관련 문제