指定されたコピー元ファイルの存在を確認し、ファイルの 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
 
  
コメント