File dan Direktori Visual Basic .Net File dan Direktori Visual Basic .Net - Berguru IT - Tutorial Visual Basic, Networking, Tips dan Trik
VB.Net

VB.Net Tutorial Untuk pemula

Instant Article

Cara Membuat Instant Article Untuk Blogger

logo

File dan Direktori Visual Basic .Net

File dan Direktori Visual Basic .Net - Dalam berbagai kebutuhan pembuatan program, operasi file dan direktori (folder) sering sekali di gunakan. Kenapa bisa begitu? karena file digunakan sebagai media yang efektif untuk menyimpan informasi-informasi yang diperlukan oleh program, misalnya untuk menyimpan data konfigurasi (biasanya berektensi .ini atau .conf).

Dengan cara diatas , prilaku atau jalannya program dapat ditentukan oleh nilai-nilai yang diisikan di dalam file dan direktori di dalam Visual Basic .Net; seperti pembuatan file dan direktori, proses baca/tulis, penyalinan, penghapusan, dan lain-lain.


Baca juga : Penanganan Eksepsi Visual Basic .Net

Secara garis besar File adalah kumpulan data yang tersimpan dalam disk dengan nama tertentu beserta jalur direktorinya. Saat File dibuka untuk membaca atau menulis maka File akan menjadi Stream. Stream pada dasarnya adalah urutan byte yang melewati jalur komunikasi. Ada dua arus utama yaitu :

  1. Input Stream : Digunakan untuk membaca data dari file (read operation).
  2. Output Stream : Diguanakan untuk menulis kedalam file (write operation)
Tutorial Basic File dan Direktori Visual Basic .Net

File Class


.Net Framework menyediakan class file untuk menangani pekerjaan-pekerjaan yang berkaitan dengan operasi file, seperti baca/tulis, penyalinan, penyandian, dan penghapusan terhadap file. Selain itu, class tersebut juga menyediakan metode-metode untuk memperoleh informasi tentang file, seperti kapan file tersebut dibuat, ukurannya, apakah file tersebut ada di dalam disk atau tidak, dan sebagainya. Class File tersimpan di dalam namespace System.IO

Namespace.IO memiliki berbagai class yang diguanakan untuk melakukan berbagai operasi dengan file, seperti membuat dan menghapus file, membaca dari atau menulis ke file, menutup file dan lain-lain. Tabel berikut ini menunjukkan beberapa class non-abstrak yang umum digunakan di NameSpace System.IO.
I/O ClassKeterangan
BinaryReader Membaca data primitif dari stream biner.
BinaryWriter Menulis data primitif dalam format biner.
BufferedStream Penyimpanan sementara untuk stream byte.
Directory Membantu memanipulasi struktur direktori.
DirectoryInfo Digunakan untuk melakukan operasi pada direktori.
DriveInfo Menyediakan informasi drive.
File Digunakan sebagai media yang efektif untuk menyimpan informasi yang diperlukan program.
FileInfo Digunakan untuk menangani permasalahan yang berhubungan dengan operasi file.
FileStream Digunakan untuk membaca dan menulis ke lokasi manapun dalam sebuah file.
MemoryStream Digunakan untuk mengakses secara acak data stream yang tersimpan dalam memori.
Path Melakukan operasi pada informasi path.
StreamReader Digunakan untuk membaca data dari file.
StreamWriter Digunakan untuk menulis data kedalam file.
StringReader Digunakan untuk membaca dari sebuah string buffer.
StringWriter Digunakan untuk menulis ke dalam buffer string.

Membuat File dan Direktori

File dapat dibuat dengan menggunakan metode Create() dari class file. Metode ini mengembalikan objek bertipe System.IO.FileStream. Metode Create dideklarasikan menggunakan kode berikut :

    Public Shared Function Create(NamaFile As String) As FileStream

Bentuk umum penggunaannya adalah sebagai berikut:

    Dim fs As System.IO.FileStream = System.IO.File.Create(NamaFile)

Pada bentuk umum diatas, fs merupakan referensi ke objek file yang terbentuk. NamaFile adalah nama file yang akan dibuat, termasuk lokasi (path) dari file tersebut. Berikut ini contoh kode program pembuatan file di dalam visual basic .net.

Imports System.IO
Module Module1
    Sub Main()
        Dim lokpath As String = "C:\Test"

        'untuk membuat direktori
        Directory.CreateDirectory(lokpath)

        Dim NamaFile As String = "sampel.txt"

        'untuk membuat file C:\Test\sampel.txt
        Dim fs As IO.FileStream = File.Create(Path.Combine(lokpath, NamaFile))

        'untuk menulis data ke dalam file
        For i As Byte = 0 To 20
            fs.writebyte(i)
        Next
        fs.close() 'untuk menutup file

        'membaca data dari dalam file
        Try
            Dim data As Byte() = File.ReadAllBytes(Path.Combine(lokpath, NamaFile))
            For Each b As Byte In data
                Console.Write(b & " ")
            Next
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

        Console.ReadLine()
    End Sub
End Module

Dan Hasilnya:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Penjelasan :
  • Pada program diatas menggunakan kelas System.IO.Directory, System.IO.File dan System.IO.Path.
  • Metode CreateDirectory() dalam kelas Directory berguna untuk membuat direktory baru.
  • Metode Create() dalam kelas File berguna untuk membuat file baru.
  • Metode Combine() dalam kelas Path digunakan untuk menggabungkan antara nama direktory dan nama file.
  • Metode WriteByte() dalam contoh program diatas, file yang terbentuk diisi dengan data bertipe byte, mulai dari 0 sampai 20.
  • Metode Close() untuk menutup file bersangkutan setelah proses penulisan selesai, bertujuan agar file tersebut dapat digunakan untuk proses membaca data.

Menulis Data Ke dalam File

Menulis data kedalam file dapat dilakukan dengan berbagai macam cara yang berbeda, kebetulan saya sudah membuat salah satu contoh diatas dengan menggunakan metode WriteByte() . Masih Banyak metode yang lain untuk menulis data kedalam file yaitu :
  • Metode WriteAllLines()
  • Metode WriteAllText()
  • Metode WriteLine()
Metode WriteAllLine() dan WriteAllText() merupakan metode yang didefinisikan didalam kelas System.IO.File, sedangkan metode WriteLine() didefinisikan di dalam kelas System.IO.StreamWriter (turunan dari kelas Sytem.IO.TextWriter).

Berikut ini beberapa contoh program menulis data ke dalam file dengan beberapa metode:


Metode WriteAllLines()
Metode writealllines() akan menulis string yang tersimpan di dalam suatu array ke dalam file. Berikut ini contoh program menggunakan metode writealllines().

Imports System.IO

Module Module1
    Sub Main()
        'tentukan lokasi file akan disimpan
        Dim lokPath As String = "C:\Test"

        'Buatlah direktori
        Directory.CreateDirectory(lokPath)

        Dim nmfile As String = "file.txt"

        'Rencana data yang akan ditulis ke dalam file
        Dim data As String() = New String(2) _
                               {"Nama", _
                                "Alamat", _
                                "Nomor Telphone"}

        Try
            'membuat file dan menulis kedalammnya
            File.WriteAllLines(Path.Combine(lokPath, nmfile), data)
            Console.WriteLine("File {0} Telah dibuat, silahkan di cek", _
                              Path.Combine(lokPath, nmfile))
        Catch e As IOException
            Console.WriteLine("ERROR: {0}", e.Message)
            End
        End Try

        Console.ReadLine()
    End Sub
End Module

Hasil Program akan tampak seperti ini:

File C:\Test\file.txt Telah dibuat, silahkan di cek

Sedangkan isi dari file.txt adalah sebagai berikut :
Nama
Alamat
Nomor Telphone
Penjelasannya :
  • Metode WriteAllLines() akan menulis semua elemen array data diatas ke dalam file yang kita buat, satu elemen array akan menjadi satu baris di dalam file.
  • Jika file belum ada di direktori C:\Test maka otomatis metode tersebut akan membuat file.
  • Jika file sudah ada, maka isi file yang lama akan ditimpa dengan data yang baru atau istilahnya di replace.
  • Kita tidak perlu menutup file secara manual karena setelah melakukan penulisan data  ke dalam file maka metode writealllines() akan menutup secara otomatis.

Menggunakan Metode WriteAllText()
Metode ini sama dengan metode writealllines() untuk melihat perbedaannya coba lihat contoh kode program berikut ini:

Imports System.IO

Module Module1
    Sub Main()
        'tentukan lokasi file akan disimpan
        Dim lokPath As String = "C:\Test"

        'Buatlah direktori
        Directory.CreateDirectory(lokPath)

        Dim nmfile As String = "file2.txt"

        'Rencana data yang akan ditulis ke dalam file
        Dim data As String = "Nama " & "Alamat " & "Nomor Telphone"

        Try
            'membuat file dan menulis kedalammnya
            File.WriteAllText(Path.Combine(lokPath, nmfile), data)
            Console.WriteLine("File {0} Telah dibuat, silahkan di cek", _
                              Path.Combine(lokPath, nmfile))
        Catch e As IOException
            Console.WriteLine("ERROR: {0}", e.Message)
            End
        End Try

        Console.ReadLine()
    End Sub
End Module

Hasil Program akan tampak seperti ini:

File C:\Test\file2.txt Telah dibuat, silahkan di cek

Sedangkan isi dari file.txt adalah sebagai berikut :
Nama Alamat Nomor Telphone

Menggunakan Metode WriteLine()
Metode WriteLine() digunakan untuk menulis satu baris data bertipe string ke dalam file. Untuk menggunakan metode writeline(), kita perlu membuat objek dari kelas StreamWriter dengan parameter berupa nama file yang akan dibuat. Berikut ini contoh program untuk menunjukkan cara penggunaan metode writeline():

Imports System.IO
Module Module1
    Sub Main()
        'tentukan lokasi file akan disimpan
        Dim lokPath As String = "C:\Test"

        'Buatlah direktori
        Directory.CreateDirectory(lokPath)

        Dim nmfile As String = "file3.txt"

        'Rencana data yang akan ditulis ke dalam file
        Dim data As String() = New String(4) _
                               {"Nama ", "Alamat ", "Nomor Telphone ", "email ", "sosmed"}

        Try
            'membuat file
            Dim file As StreamWriter = _
                New StreamWriter(Path.Combine(lokPath, nmfile))

            'menulis data ke dalam file
            For Each item As String In data
                file.WriteLine(item)
                Console.WriteLine(item)
            Next
            file.Close() 'untuk menutup file

            Console.WriteLine()
            Console.WriteLine("File {0} Telah dibuat, silahkan di cek", _
                              Path.Combine(lokPath, nmfile))
        Catch e As IOException
            Console.WriteLine("ERROR: {0}", e.Message)
            End
        End Try

        Console.ReadLine()
    End Sub
End Module

Hasil program akan tampak seperti ini:

Nama
Alamat
Nomor Telphone
email
sosmed

File C:\Test\file3.txt Telah dibuat, silahkan di cek

Sedangkan isi file akan seperti dibawah ini:
Nama
Alamat
Nomor Telphone
email
sosmed
Dapat dilihat dari program tersebut bahwa setiap elemen array akan menjadi satu bari data di dalam file.

Menyalin File


Untuk menyalin file dari suatu direktori ke direktori yang lain di dalam pemrograman visual basic .net dapat menggunakan metode Copy() dari kelas System.IO.File. Untuk membuat atau mempraktekkan cara menyalin file coba lihat kode program dibawah ini:

Imports System.IO

Module Module1
    Sub Main()
        Dim fileawal As String = "C:\Test\file3.txt"
        Dim filepindahan As String = "C:\Test\Copyfile3.txt"

        File.Copy(fileawal, filepindahan, True)
    End Sub
End Module

Catatan : Untuk mempraktekkan kode diatas jagan lupa untuk membuat folder Test dan file3.txt

Parameter True pada kode diatas akan dilewatkan di dalam metode System.IO.File.Copy() akan menyebabkan proses penimpaan file (overwrite) jika nama file yang disalin ternyata sudah ada di dalam direktori tujuan.

Menghapus File dan Direktory

Anda punya banyak file dan direktori di dalam harddrive anda, tentunya anda ingin mendelete beberapa file atau direktori yang sudah tidak terpakai lagi untuk menghemat space hdd anda. Jika kita lakukan manual dengan memilih file atau direktori dan tekan tombol delete maka perintah hapus file dan direktori akan langsung dilaksanakan. Nah disini kita coba membuat program sederhana untuk menghapus file dan direktori di dalam pemrograman visual basic .net.

Untuk menghapus file atau direktori dari disk, kita hanya perlu menggunakan metode dibawah ini yaitu :
  • Metode File.Delete() dari kelas System.IO.File digunakan untuk menhapus File.
  • Metode Direktori.Delete() dari kelas System.IO.Direktory digunakan untuk menghapus direktori.
Untuk lebih jelas coba anda praktekkan kode sederhana di bawah ini :

Imports System.IO

Module Module1
    Sub Main()
        Dim fl As String = "C:\Test\Sampel.txt"

        'Ini untuk menghapus file
        File.Delete(fl)

        Dim dir As String = "C:\Test"

        'ini untuk menghapus direktori
        Directory.Delete(dir, True)
    End Sub
End Module

Memindahkan File dan Direktori

Metode Move() berguna untuk memindahkan file dari suatu direktori ke direktori yang lainnya sesuai dengan apa yang anda inginkan. Proses pemindahan file berbeda dengan proses menyalin file. Pada saat dipindahkan, file yang tersimpan di direktori asal akan terhapus, tidak seperti pada saat kita menyalin suatu file. Penting dan perlu diingat bahwa ketika kita melakukan proses memindahkan direktori maka semua file yang terdapat didalam direktori tersebut akan ikut dipindahkan.

Lihat kode program sederhana ini:

Imports System.IO

Module Module1
    Sub Main()
        Dim dirBaru As String = "C:\Baru"

        'membuat direktori Baru
        Directory.CreateDirectory(dirBaru)

        Dim fl As String = "C:\Test\sampel.txt"

        'ekstrak nama filenya
        Dim nmfile As String = Path.GetFileName(fl)

        'ini kode untuk memindahkan file sampel.txt
        'dari C:\Test ke C:\Baru
        File.Move(fl, Path.Combine(dirBaru, nmfile))

        Dim dir As String = "C:\Test"

        'ini untuk meindahkan direktori C:\Test ke C:\Baru\Test
        Directory.Move(dir, dirBaru & "\Test")
    End Sub
End Module

Penjelasan :

  • File sampel.txt didalam direktori C:\Test akan dipindahkan ke direktori C:\Baru
  • Setelah file dipindahkan maka selanjutnya direktori C:\Test (beserta semua file yang ada di dalamdirektori tersebut) juga akan dipindahkan ke direktori C:\Baru

Tags

0 Komentar untuk "File dan Direktori Visual Basic .Net"

Subscribe