/// 実習F1 ファイル処理 | プログラミング実習 |
ファイル処理 コンピュータに入力したデータは、コンピュータの電源を切ると消えてしまう。データを残しておくには、ファイルとしてハードディスクなどに保存しておくのが一般的である。
ファイルからデータを読み込むにはMy.Computer.FileSystemオブジェクトを使う。
My.Computer.FileSystem.ReadAllText(ファイル名) メソッド ファイル名 のファイルから読み込んだすべてのデータを返却する。返却されるデータは文字型である。
My.Computer.FileSystem.WriteAllText(ファイル名, データ, 追記) メソッド ファイル名 のファイルにデータ を書き込む。追記 にTrueを設定するとデータ はファイルに追加書き込みされる。Falseを設定すると新規に書き込み(上書き)されるので、既存のデータは消去される。
My.Computer.FileSystem.FileExists(ファイル名) メソッド ファイル名 のファイルの存在を調べる。ファイルがあればTrueが返却される。
フォルダの存在を調べる場合は、DirectoryExistsを使う。
My.Computer.FileSystem.CurrentDirectory プロパティ 現在のディレクトリ(フォルダ)のフルパス名を取得または設定する。 特別なフォルダのフルパス名を取得するプロパティが用意されている。
My.Computer.FileSystem.SpecialDirectories.MyDocuments … マイドキュメント
MyPictures … マイピクチャ
MyMusic … マイミュージック
Desktop … デスクトップ【注意】 データファイルを読み書きするプログラムは、セキュリティの制限でネットワーク上のドライブからは実行できない。プログラムはローカルのドライブに保存されている必要がある。
「ファイル処理」の実習もデータファイルを扱うので、プロジェクトの保存先はローカルのドライブにする必要がある。
プロジェクト名 実習F1テキストファイルの読み書き
説明
[読み込み]ボタンをクリックするとtbxFNameに表示されているファイルからテキストデータを読み込み、tbxDataに表示する。
[書き込み]ボタンをクリックするとtbxDataに入力されたテキストデータをtbxFNameに表示されているファイルに保存する。
デザイン
フォームのプロパティ
Font.Size = 11
Size = 380, 350
テキストボックスtbxData
MultiLine = True
コード(プログラム) [終了ボタン]のメソッドは省略しています。
Public Class Form1
Private Sub btnFRead_Click(sender As System.Object, e As
System.EventArgs) Handles btnFRead.Click
If My.Computer.FileSystem.FileExists(tbxFName.Text) = @ Then
MessageBox.Show("ファイルがありません",
"実習F1")
Else
tbxData.Text = My.Computer.FileSystem.ReadAllText( A )
End If
End Sub
Private Sub btnFWrite_Click(sender As System.Object, e As
System.EventArgs) Handles btnFWrite.Click
My.Computer.FileSystem.WriteAllText(tbxFName.Text, B , False)
End Sub
Private Sub tbxClear_Click(sender As System.Object, e As
System.EventArgs) Handles tbxClear.Click
C = "" 'tbxDataの内容を消去
End Sub
Private Sub Form1_Load(sender As Object, e As System.EventArgs)
Handles Me.Load
Dim nowfolder As String
nowfolder = My.Computer.FileSystem.CurrentDirectory
tbxFName.Text = nowfolder & "\テスト用ファイル.txt"
End Sub
End Class
キーワード
下線部。解説参照。
テスト
□ [読み込み] ⇒ ファイルがありませんのメッセージボックス。
□ tbxDataに入力、[書き込み]、[クリア]、[読み込み] ⇒ 読み込むことができることを確認。適当なテキストデータを入力して書き込む。
□ [クリア]、tbxDataに入力、[書き込み]、[クリア]、[読み込み] ⇒ 前に保存したデータが書き換わることを確認。
参考
ファイル処理2 この実習では使用しない予定 一般的な言語でファイルを読み書きする場合は、 @ファイルを開くという手順でプログラミングする。
A読み書きをする
Bファイルを閉じる
VBでも同じ手順でプログラムすることができる。次のように書く。
ファイルからデータを読み込む手順
- @ Dim rf As New System.IO.StreamReader(ファイル名)
- A 変数 = rf.ReadLine
- B rf.Close()
ファイルへデータを書き込む手順
- @ Dim wf As New System.IO.StreamWriter(ファイル名)
- A wf.WriteLine(データ)
- B wf.Close()
/// 実習F1 ファイル処理 | Copyright©2014 Hiroshi Masuda |