打开没有扩展名的文件

时间:2011-12-02 11:36:35

标签: c#

我在使用C#打开文件时遇到问题 我有一个我需要阅读的文件,当我尝试使用C#打开它时,由于某种原因无法找到文件。
这是我的代码:

 string fullpath = Directory.GetCurrentDirectory() + 
                   string.Format(@"\FT933\FT33_1");
 try
 {
      StreamReader reader = new StreamReader(fullpath);
 }
 catch(Exception e)
 {
       Console.WriteLine("The file could not be read:");
       Console.WriteLine(e.Message);
 }

我正在尝试打开的文件位于Debug\FT933\FT33_1内,没有扩展名。
每当我试图从同一目录中打开文本文件时,我都会这样做。

EDIT:

更准确我认为我遇到的问题是我不知道如何打开没有扩展的文件(如果我将文件更改为.txt扩展我确实设法打开它)

1 个答案:

答案 0 :(得分:8)

不要使用硬编码的路径或目录,而是使用内置函数来连接路径 尝试

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string fullpath = Path.Combine(path, your_filename);

请记住,当前目录可能不是您应用的目录! 更多,始终包含using语句

中的流
using(StreamReader reader = new StreamReader(fullpath))
{
    // Do here what you need
}

所以你确定它会在必要时释放而不会浪费记忆!

OP评论后编辑:
这是我的尝试:

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string fullpath = Path.Combine(path, @"FT933\FT33_1");
if (File.Exists(fullpath))
{
    using (StreamReader reader = new StreamReader(fullpath))
    {
        string ret = reader.ReadLine();
    }
}
else
{
    // File does not exists
}

如果您属于// File does not exists部分,请确保该文件不在您要搜索的位置! 您确定您的文件没有隐藏的扩展名吗? 您确定操作系统或某些应用程序由于某种原因未锁定文件吗?

在另一条评论后再次编辑:
打开命令提示符(使用Start-> Run-> CMD(enter))并运行以下命令:

dir "C:\Users\Stern\Documents\Visual Studio 2010\Projects\Engine\ConsoleApplication1\bin\Debug\FT933\*.*" /s

并编辑显示结果的问题。