Back to Top

プログラムの覚書

Category: ファイル

VB.NET ファイルの属性を取得・変更する

ファイル属性の取得及び変更をする方法を記載します。

ファイル属性の変更は、File.GetAttributes メソッドを使用します。

ファイル属性は System.IO.FileAttributesに、列挙型(enum)で宣言されています。

基本的にファイル属性は、ビット演算をしています。

ファイルの属性を取得する

Dim sFilePath As String = "c:\work\myfile.txt"		
		
' ファイルの属性を取得する
Dim uAtr As System.IO.FileAttributes = System.IO.File.GetAttributes(sFilePath)

'読み取り専用属性があるかどうか判断する
If (uAtr And System.IO.FileAttributes.ReadOnly) = System.IO.FileAttributes.ReadOnly Then
    MessageBox.Show("読み取り専用")
End If

 

ファイル属性を追加する

Dim sFilePath As String = "c:\work\myfile.txt"

'ファイルの属性を取得する
Dim uAtr As System.IO.FileAttributes = System.IO.File.GetAttributes(sFilePath)

'読み取り専用属性を追加する
System.IO.File.SetAttributes(sFilePath, uAtr Or System.IO.FileAttributes.ReadOnly)

・属性を変更する際は、一度ファイル属性を所得して、属性をand or で削除・追加をして書き戻します。

 

※System.IO.FileInfoクラスでも同じことが出来ます。

 

VB.NET ファイルのサイズを取得する

ファイルのサイズをバイト単位で取得する方法を説明します。

FileInfo クラスを使用する方法

Dim sFilePath As String = "C:\work\myfile.bak"

Dim cFileInfo As New System.IO.FileInfo(sFilePath)
Dim fileSize As Long = cFileInfo.Length

 

My 機能のFileInfo クラスを使用する方法

Dim sFilePath As String = "c:\work\myfile.txt"

Dim fInfo As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(sFilePath)
Dim fileSize As Long = cFileInfo.Length

 

FileLen 関数を使用する方法

Dim sFilePath As String = "c:\work\myfile.txt"

Dim fileSize As Long = FileLen(sFilePath)