gpt4 book ai didi

Java:将数组写入文本文件不一致

转载 作者:行者123 更新时间:2023-12-02 00:47:49 25 4
gpt4 key购买 nike

对于一个类(class)项目,我和一个小组一直在开发一个应用程序,该应用程序从文本文件中读取文本行,并可以对其进行加密、解密(均使用 DES)并计算 MD5 哈希值。该程序读取文本并对其进行很好的加密,将现在加密的字符串数组按照读取的顺序逐行写回到文本文件中,并包含所有必需的回车符。

然而,在解密这些字符串时,程序将明文全部写入文件一行,没有空格或回车符。加密和解密方法都使用相同的 fileWrite 类,该类使用缓冲写入器。我添加了一个 System.out.println 语句用于调试目的,以打印正在加密和解密的数组内容以检查存储中的错误,但我找不到任何错误。

即使我人为地用“\n”符号插入回车,文本文件解密后还是一行。我一生都无法弄清楚为什么同一个类(Class)在不同的时间会有两种不同的行为方式。将数组写入文件的代码非常简单,只是逐个元素地进行,可能并不需要真正包含在内,但无论如何都是如此。

    for(int i=0;i<s.length;i++){
bufferedWriter.write(s[i]);
}

据我所知,该问题可能源于 java 和记事本处理新行的方式不同。当它从文件中读取明文字符串时,我假设它从文本文件中接收换行符并以这种方式打印出加密文本,但这里 java 表示新行与文件中原来的行不同,当这些加密行被读取和处理时,导致这个间距问题,但同样,我不太确定,这就是我在这里的原因。任何帮助将不胜感激。

最佳答案

如果可以的话,尝试使用 PrintWritter,使用 println() 方法。

我相信 write() 方法不会更改行,您可以使用 newLine() 方法强制执行此操作。

还要注意,从文件读取时,大多数方法不会返回换行符。

关于Java:将数组写入文本文件不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com