using namespace System::IO;
//选择目标文件
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if(this->saveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
this->textBox2->Text = this->saveFileDialog1->FileName;
}
//选择源文件
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
if(this->openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
this->textBox1->Text = this->openFileDialog1->FileName;
}
//开始复制
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
String^ FileSource;
String^ FileTarget;
Stream^ FileInputStream;
Stream^ FileOutputStream;
BufferedStream^ InputBufferStream;
BufferedStream^ OutputBufferStream;
array<unsigned char>^ myBuffer = gcnew array<unsigned char>(1024);
int MyCount;
FileSource = this->textBox1->Text;
if(!File::Exists(FileSource)){
MessageBox::Show("源文件不存在", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
return;
}
FileTarget = this->textBox2->Text;
if(FileSource->Length < 1){
MessageBox::Show("请指定目标文件位置", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
return;
}
try{
FileInputStream = File::OpenRead(FileSource);
FileOutputStream = File::OpenWrite(FileTarget);
InputBufferStream = gcnew BufferedStream(FileInputStream);
OutputBufferStream = gcnew BufferedStream(FileOutputStream);
MyCount = InputBufferStream->Read(myBuffer, 0 ,1024);
while(MyCount > 0){
OutputBufferStream->Write(myBuffer, 0, MyCount);
MyCount = InputBufferStream->Read(myBuffer, 0, 1024);
}
OutputBufferStream->Flush();
InputBufferStream->Close();
OutputBufferStream->Close();
MessageBox::Show("success", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
catch(Exception^ eee){
MessageBox::Show(eee->Message, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
}