Java IO流讀取文件的代碼
一、使用字符流,讀取和存儲純文本文件。
存儲文件,也就是像一個文件里寫內容,既然是寫,那就需要使用輸出流。而且我們寫的是純文本文件,所以這里使用字符流來操作,java api提供給我們FileWriter這么一個類,我們來試試:(讀取文件同理使用FileReader類)
package org.example.io;import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class TestFileWriter { public static void main(String[] args) throws Exception { writeToFile(); readFromFile(); } /** * DOC 從文件里讀取數據. * * @throws FileNotFoundException * @throws IOException */ private static void readFromFile() throws FileNotFoundException, IOException { File file = new File("E:\\helloworld.txt");// 指定要讀取的文件 FileReader reader = new FileReader(file);// 獲取該文件的輸入流 char[] bb = new char[1024];// 用來保存每次讀取到的字符 String str = "";// 用來將每次讀取到的字符拼接,當然使用StringBuffer類更好 int n;// 每次讀取到的字符長度 while ((n = reader.read(bb)) != -1) { str += new String(bb, 0, n); } reader.close();// 關閉輸入流,釋放連接 System.out.println(str); } /** * DOC 往文件里寫入數據. * * @throws IOException */ private static void writeToFile() throws IOException { String writerContent = "hello world,你好世界";// 要寫入的文本 File file = new File("E:\\helloworld.txt");// 要寫入的文本文件 if (!file.exists()) {// 如果文件不存在,則創建該文件 file.createNewFile(); } FileWriter writer = new FileWriter(file);// 獲取該文件的輸出流 writer.write(writerContent);// 寫內容 writer.flush();// 清空緩沖區,立即將輸出流里的內容寫到文件里 writer.close();// 關閉輸出流,施放資源 } } </pre>
測試結果:
hello world,你好世界
二、使用字節流,讀取和存儲圖片
首先使用輸入流讀取圖片信息,然后通過輸出流寫入圖片信息:
package org.example.io;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class TestIOStream { /** * * DOC 將F盤下的test.jpg文件,讀取后,再存到E盤下面. * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { FileInputStream in = new FileInputStream(new File("F:\\test.jpg"));// 指定要讀取的圖片 File file = new File("E:\\test.jpg"); if (!file.exists()) {// 如果文件不存在,則創建該文件 file.createNewFile(); } FileOutputStream out = new FileOutputStream(new File("E:\\test.jpg"));// 指定要寫入的圖片 int n = 0;// 每次讀取的字節長度 byte[] bb = new byte[1024];// 存儲每次讀取的內容 while ((n = in.read(bb)) != -1) { out.write(bb, 0, n);// 將讀取的內容,寫入到輸出流當中 } out.close();// 關閉輸入輸出流 in.close(); } } </pre>
本文由用戶 m8x2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!