1

私はC#の初心者です。私のプロジェクトでは、ユーザーは OpenFileDialog ボックスから画像ファイルを選択します。彼/彼女が画像ファイルを選択すると、次のようなバック コードが実行されます。

File.Copy(SourceFilePath, DestinationFilePath);

上記のコードの問題は、ユーザーが既存の画像ファイルを追加しようとするたびにエラーがスローされることです。このエラーを回避するために、コードを次のように変更しました。

if (File.Exists(DestinationFilePath))
{
     intCount++;
     File.Copy(SourceFilePath,TemporaryFilePath);
     File.Copy(TemporaryFilePath, DestinationFilePath + intCount.ToString());
     File.Delete(TemporaryFilePath);                                
}
else
{
     File.Copy(SourceFilePath, DestinationFilePath);
}

上記のコードの問題は、ファイル拡張子を変更するintCountように、画像ファイルの最後に値を追加していることです。image.gif1画像ファイルのパスにカウンターを追加するには?

そして、ここで既存のファイルをチェックするために使用しているアプローチは、正しい方法ではないと思います。

更新:回答:-

        int intCount = 1;
        while (File.Exists(Application.StartupPath + DirectoryPath + strPath))
        {
            strPath = Path.GetFileNameWithoutExtension(strPath) + intLarge.ToString() + Path.GetExtension(strPath);
            intCount++;
        }
        intCount = 1;
4

5 に答える 5

1

使用する

Path.GetFileNameWithoutExtension(string destinationfilename)

それに追加intし、あなたが得ることができる拡張機能をそれに追加します

Path.GetExtension(string destinationfilename)
于 2012-10-23T12:21:44.357 に答える