我想寫我到test.txt文件的每一行。然而,每個結果都需要按照自己的路線。我錯過了什麼,或者我沒有正確實施「\ n」?爲了更好地理解,我的代碼在一行中讀取第3個工作,並且如果該單詞與P *** ei「*」匹配表示來自a-z(A-Z)或S ** ei的任何字母並因此返回該行中的第一個單詞。代碼工作,但現在當我寫入文件它不會打印每一個字在自己的行。如何寫入新的文本文件在java
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();
}
}
}
是否有一個特定的原因,你爲什麼不嘗試使用'println()'? – shyam 2014-10-22 09:19:12
如果你在windows上用'\ r \ n'替換'\ n'。或者只是使用好的文本編輯器(不是記事本:)) – talex 2014-10-22 09:19:58
@shyam因爲[FileWriter](http://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html)沒有聲明' println()'... – stevecross 2014-10-22 09:25:02