🌊
【Rust】 ディレクトリの中のファイル名を絶対パスで。
read_dirでentries を取得後に canonicalize を使用するとよいとのこと。
use std::fs::{read_dir, canonicalize};
fn read_file_in_dir(){
let dir = "./src";
let entries = read_dir(dir).unwrap();
for entry in entries {
if let Ok(entry) = entry {
let path = entry.path();
println!("file_name = {:?}", entry.file_name());
println!("is_absolute = {}", path.is_absolute());
let abs_path = canonicalize(&path).unwrap(); // ここで絶対パスを入手
let filename = abs_path.into_os_string().into_string().unwrap(); // String に変換
println!("filename = {}", filename);
}
}
}
fn main() {
read_file_in_dir();
}
Discussion