1

私のコードは、プロジェクト ディレクトリ内の「Conf」ディレクトリにあるファイルにアクセスします。現在、以下のような絶対パスを使用してファイルを開いています。

File.ReadAllLines("C:\project name\Conf\filename");

次のような相対パスを使用できるかどうかを考えていました

File.ReadAllLines("/Conf/filename");

しかし、うまくいきません。予想通り、例外がスローされます。MSDN (以下のリンク) を確認しましたが、「ReadAllLines()」メソッドは相対パスを受け入れないようです。

http://msdn.microsoft.com/en-us/library/s2tte0y1.aspx

絶対パスを使用する代わりに相対パスを使用するにはどうすればよいですか?

ありがとう、ラフル

4

3 に答える 3

2

MSDN に記載されているように、相対パスは使用できませんが、またはいずれEnvironment.CurrentDirectoryかを使用できる場合がありますSystem.Reflection.Assembly.GetExecutingAssembly().Location

于 2011-06-23T12:32:23.273 に答える
1

簡単にするために、以下を使用します。

string current_path = System.IO.Path.GetDirectoryName(Application.ExecutablePath);

string[] lines_from_file = System.IO.File.ReadAllLines(current_path + "/Conf/filename");

...additional black magic here...
于 2015-12-10T13:30:03.300 に答える