JavaI/O:簡單的使用Reader和Writer來操作檔案
阿新 • • 發佈:2018-11-11
Writer類與Reader類是以字元流傳輸資料,一個字元是兩個位元組
字元流除了是以字元方式(兩個位元組)傳輸資料外,另外一點與位元組流不同的是字元流使用緩衝區,通過緩衝區再對檔案進行操作。位元組流位元組對檔案進行操作。使用字元流類時關閉字元流會強制將字元流緩衝區的類容輸出,如果不想關閉也將字元流進行輸出,使用Writer類的flush()方法。
Reader讀取資料:
try { Reader reader = new FileReader( "D:\\cmz\\java\\JavaOOP6.0\\pet.template"); char ch[] = new char[45]; StringBuffer buffer = new StringBuffer(); try { int length = reader.read(ch); while (length != -1) { buffer.append(ch); length = reader.read(); } String str = " 您好!我的名字是{name},我是一隻{type}.我的主人是{master}"; System.out.println("替換前:" + str); str = str.replace("{name}", "歐歐"); str = str.replace("{type}", "狗狗"); str = str.replace("{master}", "程沐喆"); System.out.println("替換後:" + str); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
使用writer操作資料:
String str = "您好!我的名字是歐歐,我是一隻狗狗.我的主人是李偉"; try { FileWriter file = new FileWriter("D:\\cmz\\java\\JavaOOP6.0\\pet.template"); file.write(str); if (null!=file) { file.close(); System.out.println("寫入成功"); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }