diff --git a/.gitignore b/.gitignore index 6985cf1..196e176 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,8 @@ Cargo.lock # MSVC Windows builds of rustc generate these, which store debugging information *.pdb + + +# Added by cargo + +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..3d80046 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rust-tcp-file-transfer" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..1e3263b --- /dev/null +++ b/src/main.rs @@ -0,0 +1,36 @@ +use std::fs::File; +use std::net::{TcpListener, TcpStream}; +use std::io::{Read, Write, self,copy}; +use std::env; + + + +fn read_file() -> File + { + File::open("/home/tahinli/Desktop/a.mp4").expect("Failed:Opening") + } +fn file_to_byte(mut file:File) ->Vec + { + let mut buf = vec![]; + match File::read_to_end(&mut file, &mut buf) + { + Ok(size) => println!("Done:Reading\nFile Size = {} Bytes", size), + Err(err_val) => println!("Failed:Reading {}", err_val), + } + buf + } +fn write_file(buf:Vec) + { + match File::write_all(&mut File::create("/home/tahinli/Desktop/b.mp4").expect("Failed to create file"), &buf) + { + Ok(_) => println!("Done:Writing"), + Err(err_val) => println!("Failed:Writing {}", err_val), + } + } + + +fn main() + { + println!("Hello, world!"); + write_file(file_to_byte(read_file())); + }