Java中的Writer和Reader是兩個非常重要的輸入輸出類。Writer主要用于將數據寫入到輸出流中,而Reader則可以從輸入流中讀取數據。這兩個類都是抽象類,需要通過具體的子類來實現相應的功能。
在使用Writer寫入數據時,我們需要先創建一個輸出流,然后將要寫入的數據通過Writer的write方法寫入到輸出流中。例如:
FileWriter writer = new FileWriter("example.txt"); writer.write("Hello World!"); writer.close();
這段代碼將會創建一個文件example.txt,并將字符串“Hello World!”寫入到文件中。最后,通過close方法關閉輸出流。
而在使用Reader讀取數據時,我們同樣需要先創建一個輸入流,然后通過Reader的read方法從輸入流中讀取數據。例如:
FileReader reader = new FileReader("example.txt"); int character; while ((character = reader.read()) != -1) { System.out.print((char) character); } reader.close();
這段代碼將會讀取剛才寫入example.txt的數據,并將其打印到屏幕上。需要注意的是,read方法返回的是一個整數,而不是字符。如果讀取到了文件末尾,read方法將會返回-1。
在實際應用中,我們經常需要同時使用Writer和Reader,比如將一個文件的內容讀取出來,修改后再寫入到另一個文件中。這時,我們可以使用BufferedReader和BufferedWriter來提高效率。例如:
BufferedReader reader = new BufferedReader(new FileReader("example.txt")); BufferedWriter writer = new BufferedWriter(new FileWriter("new_example.txt")); String line; while ((line = reader.readLine()) != null) { writer.write(line); writer.newLine(); } reader.close(); writer.flush(); writer.close();
這段代碼將會從example.txt中讀取每一行數據,并將其寫入到new_example.txt中。其中,readLine方法可以一次讀取一行數據,而newLine方法可以在寫入時插入換行符。
總之,Java中的Writer和Reader是非常重要的輸入輸出類,掌握它們的使用方法可以為我們的開發工作帶來很大的幫助。