예제 #1
0
        // === 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);
        }
예제 #2
0
        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;
            }
        }