首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取和写入文件时保持文本顺序

读取和写入文件时保持文本顺序
EN

Stack Overflow用户
提问于 2017-02-24 10:55:40
回答 1查看 74关注 0票数 0

嗨,我已经编写了一个程序,在给定一些参数的情况下生成一个txt文件,下面是output.txt的一个例子

代码语言:javascript
复制
APSF-COMPANY = hi
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678
APSF-CERTIFY = 12345678

当我生成文件时,我创建了一个方法来加密文件中的字符,所以真正的output.txt是

代码语言:javascript
复制
UdgZAWcadUbm4Q4|}
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL
UdgZAWYfh]Zm4Q4EFGHIJKL

这是隐秘的方法

代码语言:javascript
复制
public string crypt(string tmp)
{
    string result = "";
    foreach (var c in tmp)
    {
        if (c == 'z') result += 'a';
        else if (c == 'Z') result += 'A';
        else result += (char)(((int)c) +20);
    }

    return result;
}

当我解密文件(将output.txt的内容放入richTextBox中)时,情况就不一样了。解密方法

代码语言:javascript
复制
public string decrypt(string tmp)
{
    string result = "";

    foreach (var c in tmp)
    {
        result += (char)(((int)c) - 20);
    }

    return result;

}

下面是将内容放到richTextBox中的代码

代码语言:javascript
复制
richTextBox1.Text = decrypt(sr.ReadToEnd());

在这里,在richTextBox中发生了什么:

错误

这里应该是这样的:

(我认为问题在于“输入”字符)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 11:04:52

正如BugFinder已经提到的,不要一次解密整个文本,因为您显然解密了\n字符。逐行解密:

代码语言:javascript
复制
string[] allLines = System.IO.File.ReadAllLines("YourFile.txt");
foreach (var line in allLines)
{
    richTextBox1.AppendText(decrypt(line) + Environment.NewLine);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42436869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档