本人在中文XP下安装的VS.NET实验一个CONSOLE小程序,功能:把指定的文件读出并显示到屏幕上
string FILE_NAME = "F:\\VS.net\\ConsoleApplication1\\Demo.csv";//路径问题1
if ( !File.Exists(FILE_NAME) ) 
{
Console.WriteLine("{0} does not exist.", FILE_NAME);
Console.Read(); 
return;
}
//路径问题1
除了把路径设置为绝对路径外,不管任何方法,都会提示Demo.csv does not exist.
//编码问题2
.csv文件也是EXCEL的一种格式,当.csv文件含有中文的时候,中文输出为?作为一个C# 初学者,我也尝试了很多次,但是还是没有解决,请论坛的朋友帮忙解答。谢谢~

解决方案 »

  1.   

    你所提的是两个问题。
    其一是相对路径问题。
    相对路径只能相对于应用程序的执行路径而言,如:
    你的应用程序在C:\1\2\3\4\目录下,
    你希望访问C:\1\2\x.csv文件,则指定../../x.csv,注意在C#中,表示路径可以使用\\和/表示第二个问题是,
    建议你使用StreamReader(yourpath,System.Text.Encoding.Default)打开你文本。因为有中文的关系,如果使用File.OPenText打开,那是以默认的utf-8打开的。结果是乱码。
      

  2.   

    我处理这种问题的方法是:
    把文件与执行文件放在同一目录下,然后string CurrentDir = Directory.GetCurrentDirectory();
    string FileName = CurrentDir + "\\file.txt";记得文件开头要加上using System.IO