为了能够在asp.net中读取文件,文件路径必须写成: 1。
C:\\yung\\Desktop
返回 但是,fileUpload获取的字符串是 2。
C:\yung\Desktop
阅读评论后,我有这段代码:
string FilePath = FileUploadPublicInfo.PostedFile.FileName;
System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
string line = File.ReadLines(FilePath.ToString()).Skip(4).ToString();
TextBox1.Text = line.ToString();
但是现在它给出了这个错误:
System.Linq.Enumerable+<SkipIterator>d__30`1[System.String]
如何解决这个问题?
谢谢。
答案 0 :(得分:2)
我不太确定我理解这个问题,但我认为你在寻找string.Replace
:
string DoubleSlash(string singleSlash)
{
return singleSlash.Replace(@"\", @"\\");
}
答案 1 :(得分:1)
反斜杠消失的原因是C#编译器将字符串文字中的斜杠视为特殊的&#34;转义&#34;字符。由于这种处理,反斜杠需要在常规字符串文字中编码为两个斜杠。
C#提供了两种以所需方式插入反斜杠的方法:
@"C:\\yung\\Desktop"
或C:\\\\yung\\\\Desktop
答案 2 :(得分:1)
好的,我已经设法解决了这个问题,事实证明它没有读任何东西。
这是我最终获得的代码:
这是检索File的路径,使用这个,会给文件路径加倍斜杠,所以不需要替换(@“\”,@“\”)
string FilePath = FileUploadPublicInfo.PostedFile.FileName;
然后读取指定的文件
System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
如果您知道您特别想要哪一行,则会检索第5行
string line = File.ReadLines(FilePath.ToString()).Skip(4).First().ToString();
非常感谢你的帮助......