Domanda

Quale sarebbe il modo più semplice per separare il nome della directory dal nome del file quando si ha a che fare con SaveFileDialog.FileName in C#?

È stato utile?

Soluzione

Utilizzo:

System.IO.Path.GetDirectoryName(saveDialog.FileName)

(e il corrispondente System.IO.Path.GetFileName).La classe Path è davvero piuttosto utile.

Altri suggerimenti

Potresti costruire un oggetto FileInfo.Ha una proprietà Name, FullName e DirectoryName.

var file = new FileInfo(saveFileDialog.FileName);
Console.WriteLine("File is: " + file.Name);
Console.WriteLine("Directory is: " + file.DirectoryName);

L'oggetto Path in System.IO lo analizza abbastanza bene.

Poiché la barra non è consentita nel nome file, un modo semplice è dividere SaveFileDialog.Filename utilizzando String.LastIndexOf;Per esempio:

string filename = dialog.Filename;
string path = filename.Substring(0, filename.LastIndexOf("\"));
string file = filename.Substring(filename.LastIndexOf("\") + 1);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top