0

ユーザーはdialogBoxを介して複数のファイルを選択します。

OpenFileDialog dialF = new OpenFileDialog();
DialogResult dialR = dialF.ShowDialog();  
filesRepNames = dialF.FileNames;  // save the name of files for later use

そして、これらのファイルは文字列の配列に格納されます。名前(それぞれ)は、ファイルの完全なアドレスです。各ファイルの完全なアドレス全体ではなく、ファイルの名前を独自に保存したいだけです。ファイル名のみを保存し、情報全体を保存する方法はありませんか。

例)私はしたくない:

D:\margin\2012\Cam\bin\Debug\action.JPG  

私だけが欲しい:

action.jpg  

これらは1つではなく複数のファイルであることに注意してください。そうでない場合は、プロパティ「fileinfo」を使用できます。

4

3 に答える 3

4

メソッドPath.GetFileNameで LINQ を使用できます。

 filesRepNames = dialF.FileNames.Select(p => Path.GetFileName(p))
                                .ToList();
于 2012-10-04T17:02:09.143 に答える
1

Path 名前空間を使用してファイル名を取得します。

    string sFileSpec = "E:\\Dev\\Test.Jpg";
    MessageBox.Show(System.IO.Path.GetFileName(sFileSpec));
于 2012-10-04T17:05:15.233 に答える
1
public string[] getFilenameFromPath(string[] filePath)
    {
        char[] splitChar = new Char[]{'\\','\\'};
        for (int i = 0; i < filePath.Length; i++)
        {
            filePath[i] = filePath[i].Split(splitChar, StringSplitOptions.RemoveEmptyEntries).Last();
        }
        return filePath;
    }
于 2012-10-04T17:21:51.267 に答える