C#从.txt文件中获取已添加到程序

时间:2017-03-31 09:56:08

标签: c# string file stream

在我的项目中,我添加了一个.txt文件。我需要在其中获取内容,一行一行,然后滑动线条。我很想有代码来整理这些行并整体处理.txt文件的内容,就像我想要的那样,我需要的是访问添加文件的内容。

代码我必须在计算机中处理文本形式的txt文件:

public static string[] loc_file = File.ReadAllLines(AppDomain.CurrentDomain.BaseDirectory + "\\loc.txt", Encoding.UTF8);
        public static string loc_up = string.Join("|", loc_file);
        public static string[] loc_p = loc_up.Split('|');
        public static string[] loc = loc_p.Where((c, i) => i % 2 == 0).ToArray<string>();
        public static string[] loc_txt = loc_p.Where((c, i) => i % 2 != 0).ToArray<string>();

现在,我认为我需要的代码将是:

public string exePath = Application.StartupPath.ToString() + "\\loc.txt";
Stream stream = GetType().Assembly.GetManifestResourceStream(namexe);
        string[] a = GetType().Assembly.GetManifestResourceNames();
        byte[] bytes = new byte[(int)stream.Length];
        stream.Read(bytes, 0, bytes.Length);
        File.WriteAllBytes(exePath, bytes);

然后只需阅读文件中的文字。

谢谢!

编辑1: 我自己制作这个代码,不知道它是否会起作用,但是不好意思发布,如果它结束了工作,我可能会帮助某人:

        public bool get_file(string file)
    {
        string filePath = Application.StartupPath.ToString() + file;
        if (File.Exists(filePath))
        {
            try
            {
                Stream stream = GetType().Assembly.GetManifestResourceStream(file);
                string[] a = GetType().Assembly.GetManifestResourceNames();
                byte[] bytes = new byte[(int)stream.Length];
                stream.Read(bytes, 0, bytes.Length);
                File.WriteAllBytes(filePath, bytes);
                return true;
            }
            catch { return false; }
        }
        else { return false; }
    }

编辑2: 我刚刚意识到string filePath = Application.StartupPath.ToString() + file; if (File.Exists(filePath)) 会给我错误,因为在strat的文件中没有文件,让我们称之为循环。所以生病删除部分以查看文件是否存在导致它没有任何意义,将代码保留为:

        public bool get_file(string file)
    {
        string filePath = Application.StartupPath.ToString() + file;
        try
        {
            Stream stream = GetType().Assembly.GetManifestResourceStream(file);
            string[] a = GetType().Assembly.GetManifestResourceNames();
            byte[] bytes = new byte[(int)stream.Length];
            stream.Read(bytes, 0, bytes.Length);
            File.WriteAllBytes(filePath, bytes);
            return true;
        }
        catch { return false; }
    }

0 个答案:

没有答案