我正在编写一个程序来解密已加密的文本文件。 我的缓冲阅读器似乎只读取文本文件的第一行? 这由我的解密函数()显示,仅打印出正确解密的第一行。 我附上了我的代码片段,但我不确定哪里出错了。 b变量是彻底解密代码,与文件读取无关
BufferedReader br = new BufferedReader(new FileReader("decryptthis.txt"));
String message;
while (((message = br.readLine()) != null))
{
message = message.toUpperCase();
while (b <= 26)
{
decryption(message, b);
b++;
}
这部分在我的主函数中
public static String decryption(String message, int b)
这就是我的解密函数的作用
我认为我需要它进入循环并不断向我的解密函数提供行,但是我认为这是由 != null 部分完成的
任何帮助将不胜感激。 谢谢
答案 0 :(得分:1)
首先,尝试将正确的代码行放到相应的方法中。 您的问题不在“阅读”部分。如何确认?只需打印缓冲区读取的行。之后,调用包含所有解密代码的解密方法。
例如
INNER JOIN
这将打印 txt 的内容。 (检查它)
就你而言,
final var path = Paths.get("PathToYourTxt");
try (var lines = Files.lines(path))
{
lines.forEach(System.out::println);
}
catch (IOException e)
{
e.printStackTrace();
}
每种方法都在做某事。尽量不要停止阅读。只需根据您的条件中止方法中的字符串