如何在java中写入新的文本文件
我正在尝试将我得到的每一行写入test.txt文件。然而,每一个结果都需要有自己的路线。我是否遗漏了什么,或者我没有正确地实现“\n”?为了更好地理解,我的代码读取一行中的第三个字母,如果该单词与P***ei“*”匹配,表示来自a-z(a-z)或S**ei的任何字母,则返回该行中的第一个单词作为结果。代码工作正常,但现在当我写入文件时,它不会在自己的行中打印每个单词如何在java中写入新的文本文件,java,Java,我正在尝试将我得到的每一行写入test.txt文件。然而,每一个结果都需要有自己的路线。我是否遗漏了什么,或者我没有正确地实现“\n”?为了更好地理解,我的代码读取一行中的第三个字母,如果该单词与P***ei“*”匹配,表示来自a-z(a-z)或S**ei的任何字母,则返回该行中的第一个单词作为结果。代码工作正常,但现在当我写入文件时,它不会在自己的行中打印每个单词 package test; import java.io.BufferedReader; import java.io.Fi
package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Pattern;
public class moja {
public static void main(String[] args) {
try {
File file = new File("SloveneLexicon.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String vrstica;
File test = new File("test.txt");
FileWriter fw = new FileWriter(test);
while ((vrstica = bufferedReader.readLine()) != null) {
String s = vrstica;
String[] dobi_besedo_v_vrstici = s.split("\\s+");
String prva_beseda = dobi_besedo_v_vrstici[0];
String tretja_beseda = dobi_besedo_v_vrstici[2];
Pattern ena = Pattern.compile("S[a-zA-z]{2}ei");
if(ena.matcher(tretja_beseda).matches()){
fw.write(prva_beseda+'\n');}
Pattern dva = Pattern.compile("P[a-zA-z]{3}ei");
if(dva.matcher(tretja_beseda).matches()){
fw.write(prva_beseda+'\n');
}
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
获取系统行分隔符,而不是使用“\n”
String newLine = System.getProperty("line.separator");
Pattern ena = Pattern.compile("S[a-zA-z]{2}ei");
if(ena.matcher(tretja_beseda).matches()){
fw.write(prva_beseda + newLine);}
Pattern dva = Pattern.compile("P[a-zA-z]{3}ei");
if(dva.matcher(tretja_beseda).matches()){
fw.write(prva_beseda + newLine);
}
在程序末尾添加fw.flush()
查看从OutputStreamWriter继承的flush方法。是否有特定原因导致您没有尝试使用
println()
?如果您在windows上将'\n'替换为'\r\n'。或者只使用好的文本编辑器(不是记事本:)@shyam,因为它不声明println()
…最好使用不限于\r\n
换行符的文本编辑器。