我是Rust的新手,我只是想通过从文本文件中执行基本的逐行读取来熟悉io库.我试图编译的例子直接来自网站.
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());
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用rustc编译它时,这些是我收到的错误:
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
Run Code Online (Sandbox Code Playgroud)
我正在使用Ubuntu 14.04,我不知道这是否是问题的一部分.我非常感谢任何帮助.也许这只是我的一些简单错误或错误.
有些事情需要注意:
BufferedReader
不存在,只有BufReader
.std::io::File
实际上是std::fs::File
.Path
导入丢失.File
可能会失败并出现错误,必须进行处理或解包.在一个小脚本unwrap
是好的,但这意味着如果文件丢失您的程序中止.lines
你需要导入use std::io::File
.完成的代码:
use std::io::{BufReader,BufRead};
use std::fs::File;
use std::path::Path;
fn main() {
let path = Path::new("file_test.txt");
let file = BufReader::new(File::open(&path).unwrap());
for line in file.lines() {
print!("{}", line.unwrap());
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1086 次 |
最近记录: |