如何使用vs2005将.txt文件读入字符串windows 6 classic/windows CE?

Posted

技术标签:

【中文标题】如何使用vs2005将.txt文件读入字符串windows 6 classic/windows CE?【英文标题】:how to read .txt file into string windows 6 classic / windows CE, using vs2005? 【发布时间】:2022-01-13 21:25:05 【问题描述】:

我正在为具有 Windows Embedded 手持设备 6.5 的手持设备创建应用程序,我坚持阅读文本文件的内容并加载到字符串中。该文件以 3 列(条形码、desc、价格)为制表符分隔。代码将在表单加载时执行,我在 Windows 6 经典模拟器上发布的 vb2005 上使用 c# 编写了以下内容,但流读取器始终为空。 我已经写了以下请任何建议,我感谢您的帮助!

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();                   

【问题讨论】:

问:你试过File.ReadAllText()吗? 当我输入文件时。我没有阅读所有文本选项 【参考方案1】:

好的:

How can I read all text when ReadAllText is unavailable?

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: A problem with reading a file

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);

强烈建议:

    指定编码(例如 UTF8) 在此方法中设置断点并单步执行您的代码。

【讨论】:

谢谢你当我编译我得到以下错误: 错误 2 找不到类型或命名空间名称“var”(您是否缺少 using 指令或程序集引用?) C:\Users\ali\Documents\Visual Studio 2005\Projects\ price_check_c\price_check_c\Form1.cs 19 20 price_check_c "var" 是在 C# 3.0 中引入的关键字:docs.microsoft.com/en-us/dotnet/csharp/language-reference/…。你的版本显然太旧了。只需将StreamReader 替换为“var”即可。另外:只要您发现回复有帮助,请“投票”和“接受”(“检查”图标)。 我有一个在 CE OS 5.2 上运行的摩托罗拉 3190,我正在使用 VS2005..dot net compact v2..iam 知道 var 和 File.* 在此版本中并非全部可用,但我正在搜索另一种我找不到的方法,我只需要将 .txt 文件的内容导入到字符串或 c# 中的数组中 编译器版本(例如 MSVS 2005)不如您的目标平台相关。您的目标不支持“var” - 解决方法是明确给出类型(StreamReader)。你的目标应该支持System.IO.StreamReader。如果您只替换“var”,上面的代码应该 可以工作。如果没有,请发回具体消息。【参考方案2】:

尝试使用

File.ReadAllText("Full File Path");

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

【讨论】:

【参考方案3】:
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();

【讨论】:

【参考方案4】:

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

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();          

【讨论】:

您的回复基本上就是我一开始所说的:1)您需要指定一个完全限定的路径,2)您需要 sr.ReadToEnd();

以上是关于如何使用vs2005将.txt文件读入字符串windows 6 classic/windows CE?的主要内容,如果未能解决你的问题,请参考以下文章

如何在保持换行符的同时将 .txt 文件读入单个 Java 字符串?

vs2005安装失败

c# vs2005在win7下如何用管理员身份调试程序

2010年无法将VS2005中的vcproj转换为vcxproj

将文件中的字符读入列表

如何使用 Java 将文本文件作为一个字符串读入 Spark DataFrame