忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

ファイル上書きコピー

指定されたコピー元ファイルの存在を確認し、ファイルの 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) :ファイルの拡張子部分を表す文字列を取得します。

ファイル上書きコピー

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
''' -----------------------------------------------------------------------------
''' <summary>
''' ファイル上書きコピー
''' </summary>
''' <param name="astrSrcFilePath">コピー元ファイルフルパス名</param>
''' <param name="astrDesFilePath">コピー先ファイルフルパス名</param>
''' <returns>True:正常終了, False:エラー</returns>
''' <remarks>コピー元ファイルが存在しない場合、処理無し</remarks>
''' -----------------------------------------------------------------------------
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]

おすすめ本

share











PR

コメント

コメントを書く