2023.11.24 TIL(기본강의3.2)

SaGo_MunGcci·2023년 11월 24일
0

VB

목록 보기
5/8

Today do list

⦁ 파일 디렉터리 처리방법



TIL

파일 디렉터리 처리방법


Public Class Form1
    '파일 생성
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '파일 생성
        'IO.File.Create("새롭게 생성한 파일을 포함한 경로 즉 경로에 새로운 파일명도 적어줘야한다.")
        IO.File.Create("C:\Users\user\Desktop\newVBFile.txt")
    End Sub

    '파일 삭제
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

        ' 삭제할 다이얼로그 오픈이 아니다.
        'If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
        '    '파일 삭제(이거 휴지통에 안들어가고 메모리단에서 그냥 삭제됨)
        '    My.Computer.FileSystem.DeleteFile(OpenFileDialog1.FileName)
        'End If

        '파일 삭제(이거 휴지통에 안들어가고 메모리단에서 그냥 삭제됨)
        ' DeletePermanently을 해야 다이얼로그가 나타난다.(SendToRecycleBin으로 하면 다이얼로그가 안나옴)
        My.Computer.FileSystem.DeleteFile("C:\Users\user\Desktop\newVBFile.txt",
                                          FileIO.UIOption.AllDialogs,
                                          FileIO.RecycleOption.DeletePermanently,
                                          FileIO.UICancelOption.DoNothing)

    End Sub

    '파일 이동
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        '파일 이동
        'My.Computer.FileSystem.MoveDirectory("이동시키고 싶은 파일", "이동하려는 경로 + 이동시키려는 파일명")
        '리눅스(우분투)와 마찬가지로 파일을 이동시킬떄 파일명을 바꿔서 이동시키면 파일명이 바퀴는데
        '여기서도 마찬가지이다.
        My.Computer.FileSystem.MoveFile("C:\Users\user\Desktop\newVBFile.txt", "C:\Users\user\Desktop\velog\newVBFile1.txt")
    End Sub

    '파일복사
    'My.Computer.FileSystem.CopyFile("이동시키고 싶은 파일", "이동하려는 경로 + 이동시키려는 파일명",덮어쓰기 여부(true || false))
    '리눅스(우분투)와 마찬가지로 파일을 이동시킬떄 파일명을 바꿔서 이동시키면 파일명이 바퀴는데
    '여기서도 마찬가지이다.
    '기본값은 false (덮어쓰지 않음.) --> false를 사용하기
    'true로 하면 덮어씀
    'MS 계열의 언어를 쓰면 MS OS의 유틸리티를 활용하기 쉽다.
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        My.Computer.FileSystem.CopyFile("C:\Users\user\Desktop\newVBFile.txt",
                                        "C:\Users\user\Desktop\velog\newVBFile1.txt",
                                        FileIO.UIOption.AllDialogs,
                                        FileIO.UICancelOption.DoNothing)
    End Sub

    '파일명 변경
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        'My.Computer.FileSystem.RenameFile("변경할 기존 파일 경로+파일명",
        '" 새롭게 변경할 파일 명")
        My.Computer.FileSystem.RenameFile("C:\Users\user\Desktop\newVBFile.txt",
                                          "newVBFile1.txt")

    End Sub

    '폴더 생성
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        'My.Computer.FileSystem.CreateDirectory("폴더를 생성할 경로 + 폴더명")
        My.Computer.FileSystem.CreateDirectory("C:\Users\user\Desktop\velog\VBtest")
    End Sub

    '폴더 복사
    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        'My.Computer.FileSystem.CopyDirectory("원래 폴더 경로 +폴더명", "복사하려는 경로 + 복사하려는 폴더명 , 덮어쓰기 여부(true || false))
        My.Computer.FileSystem.CopyDirectory("C:\Users\user\Desktop\velog\VBtest", "C:\Users\user\Desktop\VBtest1")
    End Sub

    '폴더 삭제
    ' 파일 삭제와 동일
    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        '사용법 1
        'My.Computer.FileSystem.DeleteDirectory("C:\Users\user\Desktop\velog\VBtest",
        '                                  FileIO.UIOption.AllDialogs,
        '                                  FileIO.RecycleOption.DeletePermanently,
        '                                  FileIO.UICancelOption.DoNothing)

        ' FileIO.DeleteDirectoryOption.DeleteAllContents : 해당 폴더 내용 전체 삭제
        'FileIO.DeleteDirectoryOption.ThrowIfDirectoryNonEmpty : 해당 폴더가 비어 있지 않으면 경고
        '사용법 2

        Try
            My.Computer.FileSystem.DeleteDirectory("C:\Users\user\Desktop\velog\VBtest",
                                          FileIO.DeleteDirectoryOption.ThrowIfDirectoryNonEmpty)
        Catch ex As IO.IOException '해당 메서드가 반환하는 예외처리와 동일해야함. 
            '위의 예외가 실행 되었을때 실행 하는 구문
            MsgBox(ex.Message,, "주의해주세요!")
            Return
        End Try

    End Sub

    '폴더명 변경
    Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
        My.Computer.FileSystem.RenameDirectory("C:\Users\user\Desktop\velog\VBtest", "VBtest1")
    End Sub

    '파일리스트 조회
    Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
        Dim fileArr As String()

        'My.Computer.FileSystem.GetFiles("해당 폴더의 경로")
        fileArr = My.Computer.FileSystem.GetFiles("C:\Users\user\Desktop\velog\VBtest").ToArray()

        For Each item As String In fileArr

            ListBox1.Items.Add(item)

        Next




    End Sub

    '폴더리스트 조회
    Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        Dim folderArr As String()

        folderArr = My.Computer.FileSystem.GetDirectories("C:\Users\user\Desktop\velog\VBtest").ToArray()

        For Each item As String In folderArr
            ListBox2.Items.Add(item)
        Next


    End Sub


    ' 폴더내 특정 파일 정보 조회
    Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
        Dim testFileInfo As IO.FileInfo
        testFileInfo = My.Computer.FileSystem.GetFileInfo("C:\Users\user\Desktop\velog\VBtest\newVBFile3.txt")

        MsgBox(testFileInfo.Name)
        MsgBox(testFileInfo.FullName)
        MsgBox(testFileInfo.DirectoryName)
        MsgBox(testFileInfo.Exists)
        MsgBox(testFileInfo.Length)


    End Sub
End Class




Retrospection



profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글