2013-12-20 3 views
0

У меня проблема при попытке скопировать файл, который я хотел бы использовать в качестве базы данных из ресурсов в папку документов в текущем направлении пользовательских окон. (File = Vorlage.csv)Скопировать файл ресурсов csv на жесткий диск

Я пытался сделать это с четырех часов, и я использовал каждое объяснение, которое я нашел в Интернете, но всегда получаю сообщение об ошибке. Возможно, это потому, что у меня пока нет знаний.

Так что я сделал с инструкциями в Интернете является следующий код:

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); 
Смежные вопросы