Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan ini menunjukkan cara membuka dan membaca file menggunakan StreamReader kelas , periksa untuk melihat apakah file sedang diakses, mencari string dalam file yang dibaca dengan instans StreamReader kelas, dan menulis ke file menggunakan StreamWriter kelas .
Nota
Komputer Anda mungkin menampilkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam instruksi berikut. Edisi Visual Studio yang Anda miliki dan pengaturan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi lebih lanjut, lihat Mempersonalisasi IDE.
Membuat Aplikasi
Mulai Visual Studio dan mulai proyek dengan membuat formulir yang dapat digunakan pengguna untuk menulis ke file yang ditunjuk.
Untuk membuat proyek
Pada menu File, pilih Proyek Baru.
Di panel Proyek Baru , klik Aplikasi Windows.
Dalam kotak Nama ketik
MyDiarydan klik OK.Visual Studio menambahkan proyek ke Penjelajah Solusi, dan Windows Forms Designer terbuka.
Tambahkan kontrol dalam tabel berikut ke formulir dan atur nilai terkait untuk propertinya.
| Objek | Atribut | Nilai |
|---|---|---|
| Button |
Nama Teks |
SubmitKirim Entri |
| Button |
Nama Teks |
ClearHapus Entri |
| TextBox |
Nama Teks Multibaris |
EntrySilakan masukkan sesuatu. False |
Menulis ke File
Untuk menambahkan kemampuan untuk menulis ke file melalui aplikasi, gunakan StreamWriter kelas . StreamWriter dirancang untuk output karakter dalam pengodean tertentu, sedangkan kelas Stream dirancang untuk input dan output byte. Gunakan StreamWriter untuk menulis baris informasi ke file teks standar. Untuk informasi selengkapnya tentang StreamWriter kelas, lihat StreamWriter.
Untuk menambahkan fungsionalitas penulisan
Dari menu Tampilan , pilih Kode untuk membuka Editor Kode.
Karena aplikasi mereferensikan namespace System.IO, tambahkan pernyataan ini pada awal kode Anda, sebelum deklarasi kelas untuk form, yang dimulai
Public Class Form1.Imports System.IOSebelum menulis ke file, Anda harus membuat instans StreamWriter kelas.
Dari menu Tampilan , pilih Perancang untuk kembali ke Desainer Formulir Windows. Klik dua kali tombol
Submituntuk membuat Click penanganan aktivitas untuk tombol, lalu tambahkan kode berikut.Dim fw As StreamWriter
Nota
Visual Studio Integrated Development Environment (IDE) akan kembali ke Editor Kode dan memposisikan titik penyisipan dalam penanganan aktivitas tempat Anda harus menambahkan kode.
Untuk menulis ke file, gunakan metode Write dari kelas StreamWriter. Tambahkan kode berikut langsung setelah
Dim fw As StreamWriter. Anda tidak perlu khawatir bahwa pengecualian akan terjadi jika file tidak ditemukan, karena akan dibuat secara otomatis jika belum ada.Dim ReadString As String Try 'Pass the file path and name to the StreamWriter constructor. 'Indicate that Append is True, so file will not be overwritten. fw = New StreamWriter("C:\MyDiary.txt", True) ReadString = Entry.Text fw.WriteLine(ReadString) Finally 'Close the file. fw.Close() End TryPastikan bahwa pengguna tidak dapat mengirimkan entri kosong dengan menambahkan kode berikut langsung setelah
Dim ReadString As String.If (Entry.Text = "" Or Entry.Text = "Please enter something.") Then Entry.Text = "Please enter something." Return End IfKarena ini adalah buku harian, pengguna akan ingin menetapkan tanggal untuk setiap entri. Sisipkan kode berikut setelah
fw = New StreamWriter("C:\MyDiary.txt", True)untuk mengatur variabelTodayke tanggal saat ini.Dim Today As DateTime Today = Now fw.Write(CStr(Today)) fw.Write(ControlChars.CrLf)Terakhir, lampirkan kode untuk menghapus TextBox. Tambahkan kode berikut ke
Clearperistiwa tombol Click .Entry.Text = ""
Menambahkan Fitur Tampilan ke Buku Harian
Di bagian ini, Anda menambahkan fitur yang menampilkan entri terbaru di DisplayEntryTextBox. Anda juga dapat menambahkan ComboBox yang menampilkan berbagai entri dan dari mana pengguna dapat memilih entri untuk ditampilkan di DisplayEntryTextBox. Sebuah instance dari kelas StreamReader membaca dari MyDiary.txt. Seperti kelas StreamWriter, StreamReader ditujukan untuk digunakan dengan file teks.
Untuk bagian panduan ini, tambahkan kontrol dalam tabel berikut ke formulir dan atur nilai terkait untuk propertinya.
| Pengendalian | Karakteristik | Nilai |
|---|---|---|
| TextBox |
Nama Terlihat Ukuran Multibaris |
DisplayEntryFalse120,60True |
| Button |
Nama Teks |
DisplayMenampilkan |
| Button |
Nama Teks |
GetEntriesDapatkan Entri |
| ComboBox |
Nama Teks Diaktifkan |
PickEntriesPilih Entri False |
Untuk mengisi kotak kombo
PickEntriesComboBox digunakan untuk menampilkan tanggal pengguna mengirimkan setiap entri, sehingga pengguna dapat memilih entri dari tanggal tertentu. Buat Click pengendali acara untuk tombolGetEntriesdan tambahkan kode berikut.Dim fr As StreamReader = Nothing Dim FileString As String FileString = "" Try fr = New System.IO.StreamReader("C:\MyDiary.txt") PickEntries.Items.Clear() PickEntries.Enabled = True Do FileString = fr.ReadLine If IsDate(FileString) Then PickEntries.Items.Add(FileString) End If Loop Until (FileString Is Nothing) Finally If fr IsNot Nothing Then fr.Close() End If End Try PickEntries.Enabled = TrueUntuk menguji kode Anda, tekan F5 untuk mengkompilasi aplikasi, lalu klik Dapatkan Entri. Klik panah turun bawah di ComboBox untuk menampilkan tanggal entri.
Untuk memilih dan menampilkan entri individual
Buat Click penanganan aktivitas untuk tombol
Displaydan tambahkan kode berikut.Dim fr As StreamReader Dim ReadString As String 'Make sure ReadString begins empty. ReadString = "" Dim FileString As String fr = New StreamReader("C:\MyDiary.txt") 'If no entry has been selected, show the whole file. If PickEntries.Enabled = False Or PickEntries.SelectedText Is Nothing Then Do 'Read a line from the file into FileString. FileString = fr.ReadLine 'add it to ReadString ReadString = ReadString & ControlChars.CrLf & FileString Loop Until (FileString = Nothing) Else 'An entry has been selected, find the line that matches. Do FileString = fr.ReadLine Loop Until FileString = CStr(PickEntries.SelectedItem) FileString = CStr(PickEntries.SelectedItem) & ControlChars.CrLf ReadString = FileString & fr.ReadLine 'Read from the file until EOF or another Date is found. Do Until ((fr.Peek < 0) Or (IsDate(fr.ReadLine))) ReadString = ReadString & fr.ReadLine Loop End If fr.Close() DisplayEntry.Visible = True DisplayEntry.Text = ReadStringUntuk menguji kode Anda, tekan F5 untuk mengkompilasi aplikasi, lalu kirimkan entri. Klik Dapatkan Entri, pilih entri dari ComboBox, lalu klik Tampilkan. Konten entri yang dipilih muncul di
DisplayEntryTextBox.
Mengaktifkan Pengguna untuk Menghapus atau Mengubah Entri
Terakhir, Anda dapat menyertakan fungsionalitas tambahan memungkinkan pengguna untuk menghapus atau memodifikasi entri dengan menggunakan DeleteEntry tombol dan EditEntry . Kedua tombol tetap tidak aktif kecuali jika ada entri yang ditampilkan.
Tambahkan kontrol dalam tabel berikut ke formulir dan atur nilai terkait untuk propertinya.
| Pengendalian | Karakteristik | Nilai |
|---|---|---|
| Button |
Nama Teks Diaktifkan |
DeleteEntryHapus Entri False |
| Button |
Nama Teks Diaktifkan |
EditEntrySunting Entri False |
| Button |
Nama Teks Diaktifkan |
SubmitEditAjukan Pengeditan False |
Untuk mengaktifkan penghapusan dan modifikasi entri
Tambahkan kode berikut ke
Displayperistiwa tombol Click , setelahDisplayEntry.Text = ReadString.DeleteEntry.enabled = TrueBuat Click penanganan aktivitas untuk tombol
DeleteEntrydan tambahkan kode berikut.Dim fr As StreamReader Dim ReadString As String Dim WriteString As String Dim ConfirmDelete As MsgBoxResult fr = New StreamReader("C:\MyDiary.txt") ReadString = fr.ReadLine ' Read through the textfile Do Until (fr.Peek < 0) ReadString = ReadString & vbCrLf & fr.ReadLine Loop WriteString = Replace(ReadString, DisplayEntry.Text, "") fr.Close() ' Check to make sure the user wishes to delete the entry ConfirmDelete = MsgBox("Do you really wish to delete this entry?", MsgBoxStyle.OKCancel) If ConfirmDelete = MsgBoxResult.OK Then File.Delete("C:\MyDiary.txt") Dim fw As StreamWriter = File.CreateText("C:\MyDiary.txt") fw.WriteLine(WriteString) fw.Close() ' Reset controls on the form DisplayEntry.Text = "" PickEntries.Text = "" PickEntries.Items.Clear() PickEntries.Enabled = False DeleteEntry.Enabled = False End IfSaat pengguna menampilkan entri, tombol
EditEntrymenjadi diaktifkan. Tambahkan kode berikut ke acara Click dari tombolDisplaysetelahDisplayEntry.Text = ReadString.EditEntry.Enabled = TrueBuat Click penanganan aktivitas untuk tombol
EditEntrydan tambahkan kode berikut.Entry.Text = DisplayEntry.Text SubmitEdit.Enabled = TrueBuat Click penanganan aktivitas untuk tombol
SubmitEditdan tambahkan kode berikutDim fr As StreamReader Dim ReadString As String Dim WriteString As String If Entry.Text = "" Then MsgBox("Use Delete to Delete an Entry") Return End If fr = New StreamReader("C:\MyDiary.txt") ReadString = fr.ReadLine Do Until (fr.Peek < 0) ReadString = ReadString & vbCrLf & fr.ReadLine Loop WriteString = Replace(ReadString, DisplayEntry.Text, Entry.Text) fr.Close() File.Delete("C:\MyDiary.txt") Dim fw As StreamWriter = File.CreateText("C:\MyDiary.txt") fw.WriteLine(WriteString) fw.Close() DisplayEntry.Text = Entry.Text Entry.Text = "" EditEntry.Enabled = False SubmitEdit.Enabled = False
Untuk menguji kode Anda, tekan F5 untuk mengkompilasi aplikasi. Klik Dapatkan Entri, pilih entri, lalu klik Tampilkan. Entri muncul di DisplayEntryTextBox. Klik Edit Masukan. Entri muncul di EntryTextBox. Edit entri di EntryTextBox dan klik Kirim Edit.
MyDiary.txt Buka file untuk mengonfirmasi koreksi Anda. Sekarang pilih entri dan klik Hapus Entri. Ketika MessageBox meminta konfirmasi, klik OK. Tutup aplikasi dan buka MyDiary.txt untuk mengonfirmasi penghapusan.