问题描述:
我做了一个控件,用来显示国内IP流量比例,比例数据除启动时随机一次外,第二次是点击按钮从文本加载,昨天做的昨天还正常,但今天再打开这个工程时出现一个现象,但凡从VS中读取D盘(其他盘没问题,完全正常)中的TXT文件(只有TXT格式会出现这个找不到文件的现象,其他的格式正常)。用系统的记事本打开D盘的TXT文件正常。
只要是在VS中打开D盘任何一个TXT(包括子目录)的,VS都报文件找不到,但文件明明是存在的。问题截图:点击这个按钮,将读取D盘里的一个TXT文件。如下图:
文件确实是存在的,并且没有编码等错误,用系统的记事本可以正常打开。但是当从VS中读取时:--------------------------------------
以下是代码,可能跟代码关系不太大,新建了个工程试验,发现一样无法读取D盘的任何TXT,而C/E/F盘完全正常。请教一下这个问题可能是VS的什么造成的?最近没有对VS里的选项进行过任何设置。

解决方案 »

  1.   

    这是全部代码,不知道会不会是代码的某些影响了TXT读取。
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            DsMap1.BuildVersion = "DYLIKE-SOFTWARE"
            DsMap1.LowColor = Color.DarkRed
            DsMap1.HightColor = Color.Yellow
            For Each S As String In DsMap1.GetShengFen
                DsMap1.SetItemValue(S, Rnd() * 1)
            Next
            DsMap1.DrawMap()
        End Sub    Private Sub DsMap1_ItemClicked(ByVal A As System.String, ByVal B As System.Double) Handles DsMap1.ItemClicked
            Label1.Text = "选择省份:" & A & vbCrLf & vbCrLf & "IP流量比例:" & Math.Round(B, 2) * 100 & "%"
        End Sub    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
            Dim Sp() As String = IO.File.ReadAllLines("d:\国内IP分布比例.txt", System.Text.Encoding.Default)
            For Each S As String In Sp
                DsMap1.SetItemValue(S.Split(":")(0), S.Split(":")(1))
            Next
            DsMap1.DrawMap()
        End Sub
    End Class
      

  2.   

    英文的txt有问题吗?
    是不是中毒了
    要不这个问题也太神奇了
      

  3.   

    把这个文件改下名字看看,或把这个txt删除掉重建一个试试
      

  4.   

    转义字符 d:\\xxxxx或@"d:\xxx"
      

  5.   

    改文件名也没用,只要是TXT格式的就报找不到文件。
      

  6.   

    曲线救国,改成其它的格式的文件呢?
    比如ini,或者rtf或者什么文本格式的试下看看
      

  7.   

    只要在VS中读取就报找不到,后来根据楼上提供的方法改成INI了就能读取了,但不知道为什么只要是TXT就不能读取,无论名称是否是中文还是英文,均报找不到文件.
      

  8.   

    我用VS2010的安装程序修复了VS居然还是没用,还是无法读取D盘内的任何TXT,除非修改扩展名,但扩展名为TXT是必须的,为了让用户可以直接修改里面的IP流量数据,用INI有些太别扭了.VS有什么选项配置是和TXT有关的吗?或者代码上有影响?
      

  9.   

            private void button1_Click(object sender, EventArgs e)
            {
                string fpath="f:\\国内IP分布比例.txt";
                string[] Content = System.IO.File.ReadAllLines(fpath, System.Text.Encoding.Default);            textBox1.Text = Content[0];
            }
      

  10.   

    string fpath="d:\\国内IP分布比例.txt";
    string[] Content = System.IO.File.ReadAllLines(fpath, System.Text.Encoding.Default);没有任何压力.
      

  11.   

    @"d:\\国内IP分布比例.txt"
    在前面加个@符号转译以下
      

  12.   

    你如果你是WIN7或WIN8的系统话,还要考虑程序权限的问题
      

  13.   

    如果是权限问题,应该不只是读TXT会出问题吧。实在是没别的办法,只能下午重装VS试试了
      

  14.   

    用程序在D盘保存一个txt,看能保存成功不,如果成功,把刚保存的txt再读出来试一下。
      

  15.   

    用Fileinfo 对象里面的fullname属性遍历一下(*.txt)试试看。