プログラムの現在の作業ディレクトリ内のファイルにStreamReaderをポイントする方法を誰かに教えてもらえないかと思いました。
例:プログラムProgをディレクトリ "C:\ProgDir\"に保存したとします。「\ProgDir」を共有フォルダにコミットします。ProgDirの中には、Progにインポートしたいファイルを含む別のディレクトリがあります(例: "\ ProgDir \ TestDir \ TestFile.txt")。StreamReaderがそれらのTestFilesを読み取れるようにしたいのですが、ディレクトリが変更されました。
(例えば、私のコンピューターでは、テストファイルへのパスは
C:\ ProgDir \ TestDir \ TestFile.txt
しかし、他の人のコンピュータでは、ディレクトリは
C:\ dev_code \ ProgDir \ TestDir \ TestFile.txt
)。
StreamReaderを他の人のコンピューターのTestFile.txtから読み取ることができるようにするにはどうすればよいですか?(明確にするために、ファイル名は変更されません。唯一の変更はパスProgDirです)
私は次のことを試しました:
string currentDir = Environment.CurrentDirectory;
DirectoryInfo directory = new DirectoryInfo(currentDir);
FileInfo file = new FileInfo("TestFile.txt");
string fullDirectory = directory.FullName;
string fullFile = file.FullName;
StreamReader sr = new StreamReader(@fullDirectory + fullFile);
(これをプル:現在の作業ディレクトリからの相対パスを取得していますか?)
しかし、「TestFileは現在のコンテキストに存在しません」というメッセージが表示されます。私がこれにどのように取り組むべきかについて誰かが何か考えを持っていますか?
ありがとうございました。