2017-01-26 3 views
0

Как создать файл в определенной папке в Rust?Создание файла в папке

я попытался следующие подходы:

let f = File::create(Path::new(format!("{}{}","/files/",filename).as_str())); 

let f = File::create(format!("{}{}","/files/",filename)); 

И результат:

The system cannot find the path specified. (os error 3) 

мне удалось создать файл в том же каталоге, что и исполняемый файл с:

let f = File::create(format!("{}",filename)); 

Итак, как мне начать создавать файлы в определенном каталоге?

ls на basefolder:

PS C:\trust\svd2rust\target\debug> ls 

    Directory: C:\trust\svd2rust\target\debug 

Mode    LastWriteTime   Length Name 
----    -------------   ------ ---- 
d-----  2017-01-24  12:13    .fingerprint 
d-----  2017-01-24  12:13    build 
d-----  2017-01-26  10:06    deps 
d-----  2017-01-24  12:13    examples 
d-----  2017-01-26  07:18    files 
d-----  2017-01-24  12:13    incremental 
d-----  2017-01-24  12:13    native 
-a----  2017-01-24  12:13    0 .cargo-lock 
-a----  2017-01-26  10:06  1079240 libsvd2rust.rlib 
-a----  2017-01-24  21:08   27608 log.rs 
-a----  2017-01-24  13:55   27372 log2.rs 
-a----  2016-08-23  15:07   565888 STM32F401x.svd 
-a----  2016-08-23  15:07   912360 STM32F401xE.svd 
-a----  2016-08-23  15:07  1907985 STM32F40x.svd 
-a----  2017-01-26  10:06  11761561 svd2rust.exe 
+0

Существует ли каталог '/ files'? – user4815162342

+0

Да, он был создан –

+0

Можете ли вы опубликовать * полный * минимальный пример, демонстрирующий проблему? – user4815162342

ответ

0

Использование "файлы /" вместо "/ файлы /" решить эту проблему.

Кажется, что «/ files /» ссылается на абсолютный путь к файлам C: \, а «файлы /» ссылаются на относительный путь исполняемого файла.

Так что при использовании файла «/ files /» он не работал, так как не было папки C: \ Files.

Смежные вопросы