Java 当我到达字符串中的某个字符时,如何打印ln?

Java 当我到达字符串中的某个字符时,如何打印ln?,java,encryption,char,Java,Encryption,Char,所以本质上我是从一个txt文件中读取,然后将一个加密副本写入一个新文件。教授说在每一行的末尾加一个0,这样你的程序就知道那是那一行的结尾。例如 气候变化0 灾难 问题是,无论我对代码做了什么调整,我都无法打印额外的行,所以我复制的加密版本都打印在一条很长的行上。我的代码如下 for(int n = 0; n < first.length()-1; n+=2) { String character = first.substring(

所以本质上我是从一个txt文件中读取,然后将一个加密副本写入一个新文件。教授说在每一行的末尾加一个0,这样你的程序就知道那是那一行的结尾。例如

气候变化0

灾难

问题是,无论我对代码做了什么调整,我都无法打印额外的行,所以我复制的加密版本都打印在一条很长的行上。我的代码如下

            for(int n = 0; n < first.length()-1; n+=2) {
                 String character = first.substring(n, n + 2);
                 alpha = character.charAt(0);
                 bravo = character.charAt(1);
                 firstLetter = (int)(alpha) - 65;
                 secondLetter = (int)(bravo) - 65;
                 File newFile = new File("newcopy.txt");

                 PrintWriter write = new PrintWriter(new FileWriter(newFile, true));
                 if(secondLetter < 10){
                     write.print(firstLetter);
                     write.print(0);
                     write.print(secondLetter);
                     if(Character.isDigit(bravo) || Character.isDigit(alpha)){
                         write.println();
                     }

                 } else {
                     write.print(firstLetter);
                     write.print(secondLetter);
                     if(Character.isDigit(bravo)|| Character.isDigit(alpha)){
                         write.println();
                     }

                 }write.close();
for(int n=0;n

当我在谷歌上搜索它时,我在网上找到了isDigit方法,该方法返回一个布尔值,该布尔值应返回true,因为末尾有一个0。我尝试将此方法放在if/else语句中,还尝试使用常规的System.out.println(),我认为这不起作用,因为我正在使用PrintWriter将我的东西写入新文件。我还应该注意,我正在“加密”的东西都是大写的。也就是说,当我将加密的字母转换为数字时,会得到它们的数字。

这就是你要找的吗

try(Stream<String> stream = Files.lines(Paths.get(newFile.toURI()))) {
    stream.forEach(s -> {if(s.endsWith("0")) System.out.println(s);});
} catch (IOException e) {
    e.printStackTrace();
}
try(Stream=Files.line(path.get(newFile.toURI())){
stream.forEach(s->{if(s.endsWith(“0”))System.out.println(s);});
}捕获(IOE异常){
e、 printStackTrace();
}

String.endsWith
唯一的问题是,我只需要在行到达0时才打印行。如果我使用该方法,我相信它每次都会打印一行,而不仅仅是在末尾。