Abrir archivos dentro de la carpeta “data” y crear un thread para cada archivo abierto
use std::thread::spawn;
use std::fs::{File, read_dir};
use std::io::{BufRead, BufReader};
use std::io::*;
let file = if let Ok(dir) = read_dir(concat!(env!("CARGO_MANIFEST_DIR"), "/data")){
dir
}else{
return;
};
let mut paths = vec![];
for d in file{
if let Ok(dir_entry) = d{
paths.push(dir_entry.path())
}
}
let mut thread_handlers = vec![];
// Para cada archivo
for p in paths{
thread_handlers.push(spawn(move || {
let file = match File::open(p){
Ok(file) => file,
Err(_) => return
};
let reader = BufReader::new(file);
let lines = reader.lines();
}
));
}
for thread_handler in thread_handlers{
if let Ok(_) = thread_handler.join(){}
else{
// Error Handling
println!("Algo raro sucedio")
}
}