Globally replace text in several files: Difference between revisions

Add Rust implementation
(Added Delphi example)
(Add Rust implementation)
Line 1,434:
WEND
END FUNCTION</lang>
 
=={{header|Rust}}==
<lang rust>
//! Author: Rahul Sharma
//! Github: <https://github.com/creativcoder>
 
use std::fs::File;
use std::fs::OpenOptions;
use std::io::BufRead;
use std::io::BufReader;
use std::io::BufWriter;
use std::io::Write;
 
fn main() {
// opens file for writing replaced lines
let out_fd = OpenOptions::new()
.write(true)
.create(true)
.open("resources/output.txt");
 
// defining a closure write_line
let write_line = |line: &str| match out_fd {
Ok(ref v) => {
let mut writer = BufWriter::new(v);
writer.write_all(line.as_bytes()).unwrap();
}
Err(ref e) => {
println!("Error:{}", e);
}
};
// read input file
match File::open("resources/paragraph.txt") {
Ok(handle) => {
let mut reader = BufReader::new(handle);
let mut line = String::new();
// read the first line
reader.read_line(&mut line).unwrap();
// loop until line end
while line.trim() != "" {
let mut replaced_line = line.trim().replace("Goodbye London!", "Hello New York!");
replaced_line += "\n";
write_line(&replaced_line[..]);
line.clear();
reader.read_line(&mut line).unwrap();
}
}
Err(e) => println!("Error:{}", e),
}
}
</lang>
{{out}}
<pre>
</pre>
 
=={{header|Scala}}==
Anonymous user