文件與IO-字節輸入/輸出
阿新 • • 發佈:2017-09-27
col byte write int amd 構建 內容 not fileinput
package IoDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** * @Title:ByteStreamDemo * @Description:字節輸出流輸入流 : * 1.輸出流:超類OutputStream,對文件的輸出流使用子類FileOutputStream * 2.輸入流:超類InputStream,對文件的輸入流使用子類FileInputStream *@author Crazy-ZJ * @data 2017年9月22日上午10:29:53 * @book 瘋狂java講義(第三版): */ public class ByteStreamDemo { public static void in(){ //1.確定目標文件 File file = new File("F:\\test\\test.txt"); //2.構建一個文件輸入流對象 try { InputStream in = new FileInputStream(file);byte[] bytes = new byte[1024]; StringBuilder buf = new StringBuilder(); int len = -1;//表示每次讀取的字節長度 //把數據讀入到數組中,並返回讀取的字節數,當不等於-1時,表示讀取到數據,等於-1表示文件已經讀取完 while((len = in.read(bytes))!=-1){//int read(byte[] b)從該輸入流讀取最多 b.length個字節的數據為字節數組 此方法返回的是一個長度,例如bytes只用了5 那麽len的值也就是5//根據讀取到的字節數組,再轉換為字符串內容,添加到StringBuilder中 buf.append(new String(bytes)); } //打印讀取到的內容 System.out.println(buf); //關閉流 in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void out(){ //1.確定目標文件 File file = new File("F:\\test\\test.txt"); //2.構建一個文件輸出流對象 try{ OutputStream out = new FileOutputStream(file); //3.輸出的內容 String info = "東軟要垮了!!"; //4.把內容寫到文件中 out.write(info.getBytes()); //5.關閉流 out.close(); System.out.println("Write success..."); }catch (FileNotFoundException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } } public static void main(String[] args){ // out(); in(); } }
文件與IO-字節輸入/輸出