I am pretty new to Rust, and I was just trying to get familiar with the io library by performing a basic line-by-line read from a text file. The example I was trying to compile was straight from the website.
use std::io::BufferedReader;
use std::io::File;
fn main() {
let path = Path::new("file_test.txt");
let mut file = BufferedReader::new(File::open(&path));
for line in file.lines() {
print!("{}", line.unwrap());
}
}
When I tried to compile it with rustc, these are the errors I received:
io_test.rs:1:5: 1:28 error: unresolved import `std::io::BufferedReader`. There is no `BufferedReader` in `std::io`
io_test.rs:1 use std::io::BufferedReader;
^~~~~~~~~~~~~~~~~~~~~~~
io_test.rs:2:5: 2:18 error: unresolved import `std::io::File`. There is no `File` in `std::io`
io_test.rs:2 use std::io::File;
^~~~~~~~~~~~~
error: aborting due to 2 previous errors
I am using Ubuntu 14.04, and I have no idea if that's part of the problem. I really appreciate any help. Perhaps its just some simple error or mistake on my part.
You probably want to import
std::fs::File
andstd::io::BufReader
(You'll also need to changeBufferedReader
toBufReader
in your code).Some things to note:
BufferedReader
doesn't exist, there is onlyBufReader
.std::io::File
is actuallystd::fs::File
.Path
import is missing.File
can fail with error and has to be handled or unwrapped. In a small scriptunwrap
is fine, but it means if the file is missing your program aborts.lines
you need to importuse std::io::File
.Finished code:
In addition to what llogiq said
use std::io::BufferedReader
=>use std::io::{BufReader, BufRead}
use std::io::File
=>use std::fs::File
File::open
returns aResult
so you probably need tounwrap
it for instanceplaypen link ... which panics because it
unwrap
s on unknown file