總是忘記java讀寫檔案的代碼具體怎麼寫,寫了一個記錄如下
String filename="mydict.txt";<br />File file=new File(filename);<br />//read file<br />if(file.exists())<br />{<br />try<br />{<br />BufferedReader br=new BufferedReader(new FileReader(file));<br />String temp=null;<br />while((temp=br.readLine())!=null)<br />{<br />System.out.println(temp);</p><p>}<br />}<br />catch(FileNotFoundException e)<br />{<br />System.err.println(e.getMessage());<br />}<br />catch(IOException e1)<br />{<br />System.err.println(e1.getMessage());</p><p>}</p><p>}<br />else<br />{<br />System.out.println("file does not exist...");<br />}</p><p>//write file, cover the old content<br />//write the key sentences<br />try<br />{<br />BufferedWriter bw=new BufferedWriter(new FileWriter(file));<br />String s="fdjsaifjdisaof";<br />bw.write(s);<br />bw.close();<br />}<br />catch(IOException e)<br />{<br />//.......<br />}<br />
注意:bufferedwriter預設大小是說足夠大,建構函式中可以定義緩衝區的大小單位應該是byte,如果把緩衝區定義的非常大,而最後沒有flush的話,有可能你會發現檔案中並沒有內容
bufferedWriter只是把放到緩衝區中,等緩衝區滿了以後才會一次寫入檔案中,預設緩衝區的大小是1024個位元組,如果小於1024個位元組的話,實際上內容都在緩衝區中,並不寫入檔案,這是就要調用.flush方法對緩衝區進行一次重新整理,這樣就算緩衝區沒滿也會把內容輸出。
接受console輸入:
java.util.Scanner sc = new Scanner(System.in);<br />String input = sc.next();</p><p>或</p><p>BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );<br />String input = br.readLine();