// === DeleteFile (TYPE_REQ_DELETE) === // private void DeleteFile(ReqDeletePack reqPack) // 디렉토리/파일 삭제 { Pack resPack = new Pack(); reqPack.Flag = CONSTANTS.FLAG_SUCCESS; if (reqPack.FileType == 'd') // 디렉토리를 상제하는경우 { Directory.Delete(rootPath + reqPack.Path, true); } else if (reqPack.FileType == 'f') { File.Delete(rootPath + reqPack.Path); // 파일을 삭제하는경우 } serializer.Serialize(clientStream, resPack); Console.WriteLine("<->디렉토리/파일 삭제 : {0} ", rootPath + reqPack.Path); }
private void btn_Delete_Click(object sender, EventArgs e) // 파일/폴더를 삭제한다. { BinaryFormatter serializer = new BinaryFormatter(); if (selectedItem == null) // ListView에서 선택한 아이템이 없다면 리턴 { MessageBox.Show("삭제할 항목을 선택해 주세요.", "알림"); return; } if (MessageBox.Show("삭제한 폴더및 파일은 복구가 불가능 합니다.\n정말 삭제 하시겠습니까?", "알림", MessageBoxButtons.YesNo) == DialogResult.Yes) { ReqDeletePack reqPack = new ReqDeletePack { Path = selectedPath + "\\" + selectedItem.SubItems[0].Text, FileType = selectedItem.SubItems[3].Text.ToCharArray()[0] }; TcpClient client = fileConnect(); NetworkStream stream = client.GetStream(); serializer.Serialize(stream, reqPack); Pack resPack = (Pack)serializer.Deserialize(stream); if (resPack.PackType == CONSTANTS.TYPE_ERROR) { MessageBox.Show(CONSTANTS.Err_String[resPack.Flag], "알림"); return; } lbl_State.Text = string.Format("삭제 성공 : {0}", reqPack.Path); stream.Close(); client.Close(); RefreshList(selectedPath); } else { return; } }