指定されたコピー元ファイルの存在を確認し、ファイルの FileInfo を取得し、 FileInfoのファイル長が0より大きい場合に、指定されたコピー先ファイルに上書きコピーを行う関数です。
コピー処理は、System.IO.File.Copy により上書きフラグをONして処理を行います。
System.IO.FileInfo クラスについて
■コンストラクタ
Public Sub New ( fileName )
fileName:
ファイルのドライブ名からの完全パス名または相対ファイル名。
■プロパティ抜粋
・Length (Long) :現在のファイルのサイズをバイト単位で取得します。
・Name (String) :ファイルの名前を取得します。ファイル拡張子が含まれています。
・FullName (String) :ファイルのフルパス名を取得します。
・DirectoryName(String) :ディレクトリの絶対パスを表す文字列。
・Extension (String) :ファイルの拡張子部分を表す文字列を取得します。
ファイル上書きコピー
''' -----------------------------------------------------------------------------
'''
''' ファイル上書きコピー
'''
''' <param name="astrSrcFilePath">コピー元ファイルフルパス名</param>
''' <param name="astrDesFilePath">コピー先ファイルフルパス名</param>
''' True:正常終了, False:エラー
''' コピー元ファイルが存在しない場合、処理無し
''' -----------------------------------------------------------------------------
Public Function CopyFileOverwrite(ByVal astrSrcFilePath As String,
ByVal astrDesFilePath As String) As Boolean
'戻り値初期化
CopyFileOverwrite = False
Try
'コピー元ファイル存在確認
If System.IO.File.Exists(astrSrcFilePath) = False Then
'入力用ファイルが存在しない場合は、OKとする
Return True
End If
Dim fileinfo As New System.IO.FileInfo(astrSrcFilePath)
'ファイルサイズ取得
If fileinfo.Length = 0 Then
'サイズ0の場合は、処理無しで正常戻り
Return True
End If
'コピー元入力用ファイルからコピー先ファイル上書きコピー
System.IO.File.Copy(astrSrcFilePath, astrDesFilePath, True)
'正常終了
Return True
Catch ex As Exception
'エラー処理が必要な場合は、ここに記述する
End Try
End Function
関連する記事
⇒フォルダコピー(サブフォルダ以下も含む):[Directory.GetFiles,Directory.GetDirectories]⇒指定フォルダ内の全ファイルを削除 :[Directory.GetFiles,File.Delete]
⇒指定フォルダ内の全ファイルをクリア :[Directory.GetFiles,File.Delete]
⇒テキストファイル追記処理 :[File.ReadAllText,File.AppendAllText]
⇒テキストファイル先頭行削除処理 :[IO.StreamReader,IO.StreamWriter,Encoding.GetEncoding]
⇒ファイルサイズ取得 :[IO.FileInfo]
⇒テキストファイルレコード件数取得 :[IO.StreamReader]
PR
コメント