私はC#でコンソールアプリケーションを持っていますが、xmlファイルをロードしたいのですが、ファイルへのパスはconsole.readline )。しかし、私は提供されたパスからファイルをロードしたいと思いますが、ユーザーがファイル名のみを提供している場合は、アプリケーションが実行されているローカルフォルダ内でファイルの名前を検索したいと思います。ファイル名のみを入力またはファイルのフルパスとして取得する方法を知るにはどうすればよいですか。 私はそれを使用して管理しました:var isFileNameOnly = ((xmlFilePath.IndexOf("\\")) == -1);
コンソールからの入力がファイル名またはファイルフルパスであるかどうかを確認する方法
しかし、これはおそらく非常にバグがあります。
全コード:
var xmlFilePath = Console.ReadLine();
var xmlFile = new XmlDocument();
var isFileNameOnly = ((xmlFilePath.IndexOf("\\")) == -1);
try
{
if (isFileNameOnly)
{
xmlFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, xmlFilePath);
}
xmlFile.Load(xmlFilePath);
}
Thxを
うん、しかし、私は、コマンドライン(CMD)からアプリを実行しようとした場合、XmlDocument.Loadは()を見つけるためにしようとします:あなたはこのようにそれをしなかった場合多分それはもう少しエレガントになりますBaseDirectoryではなくC:\ user \ myuser \にあるので、BaseDirectoryパスをファイルに追加できるようにファイルであるかどうかを知る必要があります。私は基本ディレクトリを添付して、それが存在するかどうかを確認すると思います。 thx – TBogdan