[英]why is bufferedwriter not writing in the file?
這是代碼片段。
read = new FileReader("trainfiles/"+filenames[i]);
br = new BufferedReader(read);
while((lines = br.readLine())!=null){
st = new StringTokenizer(lines);
while(st.hasMoreTokens()){
bw = new BufferedWriter(new FileWriter("files/file.txt"));
bw.write(st.nextToken());
bw.newLine();
}
}
編輯:我正在從目錄中讀取文件。 所以,我需要在每個循環中打開閱讀器。 我做了一些修改,但后來也沒有寫入該文件。 這是代碼:
for(i=0;i==0;i++){
if(filenames[i].matches(".*ham.*")){
System.out.println("ham:"+filenames[i]);
read = new FileReader("trainfiles/"+filenames[i]);
br = new BufferedReader(read);
while((lines = br.readLine())!=null){
st = new StringTokenizer(lines);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
bw.write(st.nextToken());
}
}
bw.close();
br.close();
}else{
System.out.println("spam:"+filenames[i]);
}
}
編輯:我修改了代碼,但沒有成功,
while((lines = br.readLine())!=null){
st = new StringTokenizer(lines);
bw = new BufferedWriter(new FileWriter("files/file.txt"));
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
bw.write(st.nextToken());
}
bw.close();
}
br.close();
我收到此錯誤: Exception in thread "main" java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(StringTokenizer.java:332) at Test.main(Test.java:30)
編輯:謝謝你們......我想通了。 實際上我在eclipse中創建了一個目錄,但我沒有刷新它以查看內容。 愚蠢......反正。謝謝你們
有幾件事:
你的內循環應該是這樣的:
try (BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"))) {
while (st.hasMoreTokens()) {
bw.write(st.nextToken());
bw.newLine();
}
}
理想情況下,您應該使用以下構造函數來創建FileWriter
,
bw = new BufferedWriter(new FileWriter("files/file.txt",true));
第二個參數, true
表示附加新數據。 FileWriter
不會截斷您之前的寫入。
並且您的讀者將能夠閱讀適當的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.