String filename = @"f:\text.txt";
StreamReader reader = new StreamReader(filename);上面的语句,竟然报错:{"未能找到路径“\\f:\\text.txt”的一部分。"}环境:
visual studio 2008
c#
WM5.0

解决方案 »

  1.   

    String filename = @"f:\text.txt"; 
    换成String filename = @"f:\\text.txt"; 
      

  2.   

    f盘下有这个text.txt 文件吗
      

  3.   

    申明text.txt的确存在,原来是比较复杂的逻辑,因为没有通过,我特意改成上面的语句,结果还是报错。
      

  4.   

    try
    {
    //String filename = QRCODE_DATA_PATH + @"\qrv" + System.Convert.ToString(qrcodeVersion) + "_" + System.Convert.ToString(ec) + ".dat";
                    String filename = @"f:\\text.txt";
                    
                    //StreamReader reader = new StreamReader(filename);
                    StreamReader reader = new StreamReader(filename);
                    //BufferedStream bis = new BufferedStream(reader.BaseStream);                            
                    //String fileName = "qrv" + Convert.ToString(qrcodeVersion) + "_" + Convert.ToString(ec);
                    //byte[] data = Resources.GetResource(fileName);
                    //MemoryStream memoryStream = new MemoryStream(data);                //BufferedStream bis = new BufferedStream(memoryStream);                SystemUtils.ReadInput(reader.BaseStream, matrixX, 0, matrixX.Length);
                    SystemUtils.ReadInput(reader.BaseStream, matrixY, 0, matrixY.Length);
                    SystemUtils.ReadInput(reader.BaseStream, maskArray, 0, maskArray.Length);
                    SystemUtils.ReadInput(reader.BaseStream, formatInformationX2, 0, formatInformationX2.Length);
                    SystemUtils.ReadInput(reader.BaseStream, formatInformationY2, 0, formatInformationY2.Length);
                    SystemUtils.ReadInput(reader.BaseStream, rsEccCodewords, 0, rsEccCodewords.Length);
                    SystemUtils.ReadInput(reader.BaseStream, rsBlockOrderTemp, 0, rsBlockOrderTemp.Length);                //bis.Close();
                    //memoryStream.Close();                reader.Close();
                    /*
                    fis.Close();
                    */
                       
    }
    catch (Exception e)
    {
         SystemUtils.WriteStackTrace(e, Console.Error);
    }
    整个代码比较大,是网上一个手机读取二维码的开源程序,跟踪发现最早的问题出现在上面这个地方。
      

  5.   

    有了@就用不着再转义了
    String filename = @"f:\text.txt"; 
      

  6.   


    没有加也会报错。
    String filename = @"f:\text.txt";   报错
    String filename = @"f:\\text.txt";   报错
    String filename = "f:\\text.txt";   报错
    注:f:\text.txt存在。不好意思,刚才有位仁兄叫我加的,我知道不用加的,到实在没有招,加上之后没有改贴过来的。
    try 

    //String filename = QRCODE_DATA_PATH + @"\qrv" + System.Convert.ToString(qrcodeVersion) + "_" + System.Convert.ToString(ec) + ".dat"; 
                    String filename = @"f:\text.txt"; 
                    
                    //StreamReader reader = new StreamReader(filename); 
                    StreamReader reader = new StreamReader(filename); 
                    //BufferedStream bis = new BufferedStream(reader.BaseStream);                            
                    //String fileName = "qrv" + Convert.ToString(qrcodeVersion) + "_" + Convert.ToString(ec); 
                    //byte[] data = Resources.GetResource(fileName); 
                    //MemoryStream memoryStream = new MemoryStream(data);                 //BufferedStream bis = new BufferedStream(memoryStream);                 SystemUtils.ReadInput(reader.BaseStream, matrixX, 0, matrixX.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, matrixY, 0, matrixY.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, maskArray, 0, maskArray.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, formatInformationX2, 0, formatInformationX2.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, formatInformationY2, 0, formatInformationY2.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, rsEccCodewords, 0, rsEccCodewords.Length); 
                    SystemUtils.ReadInput(reader.BaseStream, rsBlockOrderTemp, 0, rsBlockOrderTemp.Length);                 //bis.Close(); 
                    //memoryStream.Close();                 reader.Close(); 
                    /* 
                    fis.Close(); 
                    */ 
                      

    catch (Exception e) 

        SystemUtils.WriteStackTrace(e, Console.Error); 

      

  7.   


    模拟器上运行的。看过权限,看不出有什么限制,的确MSDN上提到可能是权限问题,但是请教如何解决?
      

  8.   

    我用没有报错,你换个盘符以及文件试一下;       
     private void button7_Click(object sender, EventArgs e)
            {            String filename = @"e:\1.txt";
                StreamReader reader = new StreamReader(filename); 
    }
    环境:
    visual studio 2005
    c# 
      

  9.   

    改成@"\\text.txt"...WM或别的手机OS上都不可能有盘符...我就说嘛,这也解释了7楼的疑问...
      

  10.   

    改成@"\\text.txt"...
    -----------
    改成"\\text.txt"或@"\text.txt"....这里错了...
      

  11.   


    呵呵,不好意思,我没有QQ的。只有MSN
      

  12.   

    你怎么还不明白?你的程序在PC上放在什么位置和运行时完全没有关系,手机也好模拟器它的操作系统和你PC上的操作系统完全不同...去补补基础,别想一口吃成胖子...
      

  13.   

    用'c:\\1.txt'在PC上也不行吗?不会吧
      

  14.   

    试试能不能System.IO.File.Exists(@"F:\tstst.txt"),可以的话,应该是什么特殊情况吧,被占用?
      

  15.   

    模拟器是个沙箱他实际只在内存里运作,他有自己的规则
    如果你想访问本机的文件,你需要用代码去把 本机的文件夹映射到模拟器的储存卡(Storage Card)上,后面代码也只是需要访问Storage Card上的东西
      

  16.   

    相关资料
    http://www.shehui001.com/StudyWeb/CSharp/htm/2009815/255.htm
      

  17.   

    非常感谢wanghui0380和xxq1029。问题已经解决
      

  18.   


    我的问题不欢迎你这样的人回答,从一开始就冷嘲热讽的,根本没有正面回答。我开始写软件的时候,你还穿开裆裤,只是我一直不是从事 windows方面的开发,手机解码二维码对我更是全新的东西,大家都是计算机领域的人,都知道这个领域变化太快,已经很辛苦了,每天起来都有新东西,不懂就问很正常,要回答就诚心一点,不要正面回答不出来又装很热心。
       非常感谢其它朋友从各个方面给我出注意,问题回复之快出乎我意料。