2017-01-26 5 views
0

Wie erstelle ich eine Datei in einem bestimmten Ordner in Rust?Erstellen einer Datei in einem Ordner

Ich habe versucht, die folgenden Ansätze:

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

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

Beides führt in:

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

ich es geschafft haben, mit der Datei im selben Verzeichnis wie die ausführbare Datei zu erstellen:

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

Wie kann ich Dateien in einem bestimmten Verzeichnis erstellen?

ls auf 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

Gibt es das Verzeichnis '/ files'? – user4815162342

+0

Ja, es wurde erstellt –

+0

Können Sie ein minimales Beispiel * complete * posten, das das Problem veranschaulicht? – user4815162342

Antwort

0

Mit "Dateien /" anstelle von "/ files /" das Problem gelöst.

Es scheint, dass "/ files /" auf den absoluten Pfad von C: \ Dateien verweist, während "files /" auf den relativen Pfad der ausführbaren Datei verweist.

Also bei der Verwendung von "/ files /" hat es nicht funktioniert, da es keinen Ordner C: \ Files gab.

Verwandte Themen