QA@IT
«回答へ戻る

回答を投稿

パス区切り文字を考慮していないからではないでしょうか。

目的のテキストファイルはそもそもどこの物を取得したいのかわかりませんが、exeと同じ場所のファイルを取りたい場合

string dirp = Directory.GetCurrentDirectory();
string tinf = System.IO.Path.Combine(dirp, @"テキスト.txt");
StreamReader sr = new StreamReader(tinf,true);

とすれば取れるのではないですか?

上記は作業パスが取得されると思うので、アプリケーション実行中にディレクトリを変更すると取れないかもしれません。
その場合は

var exeDir = new FileInfo(Assembly.GetExecutingAssembly().Location)
                    .Directory.FullName;
var filePath = System.IO.Path.Combine(exeDir, "テキスト.txt"));

で取ればいいと思います。

パス区切り文字を考慮していないからではないでしょうか。

目的のテキストファイルはそもそもどこの物を取得したいのかわかりませんが、exeと同じ場所のファイルを取りたい場合

```cs
string dirp = Directory.GetCurrentDirectory();
string tinf = System.IO.Path.Combine(dirp, @"テキスト.txt");
StreamReader sr = new StreamReader(tinf,true);
```

とすれば取れるのではないですか?

上記は作業パスが取得されると思うので、アプリケーション実行中にディレクトリを変更すると取れないかもしれません。
その場合は

```cs
var exeDir = new FileInfo(Assembly.GetExecutingAssembly().Location)
                    .Directory.FullName;
var filePath = System.IO.Path.Combine(exeDir, "テキスト.txt"));
```

で取ればいいと思います。