如何使用vs2005将.txt文件读取为字符串windows6classic/windowsCE



iam为嵌入式windows的掌上电脑6.5创建了一个应用程序,iam不得不读取文本文件的内容并加载到字符串中。该文件是tab格式的,有3列(条形码、desc、价格(。代码将在表单加载时执行,我在windows6经典模拟器上发布的vb2005上使用c#编写了以下内容,但streamreader始终为空。我已经写下了以下内容,请有任何建议,我感谢您的帮助!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
private void Form1_Load(object sender, EventArgs e)
{
string fileloc = "fileexample.txt";               
StreamReader sr = new StreamReader(fileloc);
string s = sr.ReadToEnd();                   
}

确定:

ReadAllText不可用时,如何读取所有文本?

compact framework版本没有实现它。.net版本,然而,它只是这样实现的:

public static class File
{
public static String ReadAllText(String path)
{
using (var sr = new StreamReader(path, Encoding.UTF8))
{
return sr.ReadToEnd();
}
}
}

注意StreamReader的第二个参数:Encoding.UTF8。

另请参阅:

Compact Framework:读取文件时出现问题

Windows CE没有";当前目录";。操作系统尝试在传递"时打开\list.txt;list.txt";。你总是要指定文件的完整路径。。。

在我使用的完整框架中:

string dir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location);
string filename = Path.Combine(dir, "list.txt");
StreamReader str = new StreamReader(filename);

强烈建议:

  1. 指定编码(例如UTF8(
  2. 在这个方法中设置一个断点,并在代码中单步执行

尝试使用

File.ReadAllText("Full File Path");

并使用完整文件路径,如C:\fileexample.txt

string FilePath = "/"; //Root
string FileName = "MyFile.txt";
string MyString = "";
StreamReader sr = new StreamReader(File.OpenRead(FilePath + FileName), Encoding.Default, true);
while (!sr.EndOfStream)
{
MyString += sr.ReadLine();
}
sr.Dispose();
sr.Close();

经过长时间的搜索,我找到了我要找的东西。我想分享,这样其他人就不会像我一样受苦:

private void Form1_Load(object sender, EventArgs e)
{
string dir = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
string filename = Path.Combine(dir, "alisyd.txt");
StreamReader sr = new StreamReader(filename);
string s = sr.ReadToEnd();          
}

相关内容

  • 没有找到相关文章

最新更新