Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:将数组写入文本文件不一致_Java_File Io - Fatal编程技术网

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

Java:将数组写入文本文件不一致,java,file-io,Java,File Io,对于一个类项目,我和一个小组一直在开发一个应用程序,该应用程序从文本文件中读取一行行文本,并可以对其进行加密、解密(都使用DES)和计算MD5哈希。程序读入文本并对其进行加密,将现在加密的字符串数组按照读取顺序逐行写入文本文件,并返回所有必需的回车符 但是,当解密这些字符串时,程序会将明文全部写入文件的一行,不带空格或回车符。encrypt和decrypt方法都使用相同的fileWrite类,该类使用缓冲写入程序。我添加了一个System.out.println语句用于调试,以便在对数组进行加密

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

但是,当解密这些字符串时,程序会将明文全部写入文件的一行,不带空格或回车符。encrypt和decrypt方法都使用相同的fileWrite类,该类使用缓冲写入程序。我添加了一个System.out.println语句用于调试,以便在对数组进行加密和解密时打印出它们的内容,以检查存储中是否存在错误,但我找不到任何错误

即使我通过“\n”符号人工插入回车符,文本文件在解密后仍然是一行。我一辈子都搞不懂为什么同一个阶级在不同的时间会有两种不同的行为方式。将数组写入文件的代码非常简单,只需逐元素进行,可能并不需要包含,但这里还是有

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

for(int i=0;i如果可以,请使用println()方法尝试使用printWriter

我相信write()方法不会改变行,您可以使用newLine()方法强制改变行


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

如果可以,请尝试使用PrintWriter,使用println()方法

我相信write()方法不会改变行,您可以使用newLine()方法强制改变行


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

我猜您正在使用BufferedReader(删除换行符)并在不尝试重建换行符的情况下回写字符串的读取。(或者添加换行符不起作用,因为您说它们不在这里)


与其使用BufferedReader,不如将文件视为二进制文件,一次读取一个块,如果它恰好是文本,它将不会被更改。对于文本,您无法保证\r\n或\n或\r会像在原始文件中一样重新创建。如果在不同的系统上对文本进行编码和解码,则字符编码可能不同。

我猜您正在使用BufferedReader(删除换行符)并在不尝试重建换行符的情况下回写字符串的读取。(或者添加换行符不起作用,因为您说它们不在这里)


与其使用BufferedReader,不如将文件视为二进制文件,一次读取一个块,如果它恰好是文本,它将保持不变。对于文本,您无法保证\r\n或\r\n将重新创建原始文件中的文本。如果在不同的系统上对文本进行编码和解码,字符编码可能会有所不同。;)

也许你忘了在结尾刷新和/或关闭编写器?

也许你忘了在结尾刷新和/或关闭编写器?

请编辑你的问题,以创建具有某些格式的段落。阅读你的文字墙非常困难。请编辑你的问题,以创建具有某些格式的段落。读你那堆积如山的课文很难。