A類,使用其 實例化的子類
public class OutputStreamDemo {
// 字節(jié)輸出流的抽象父類
/*
* 1.new流對象
* 2.write
* 3.close
*/
public static void main(String[] argStrings) {
/*內(nèi)部方法
* write(int b)
* write(byte[] b)
* write(byte[] b,int start,int end)
*/
/*
* 子類
* ByteArrayOutputStream
* FileOutputStream
*/
FileOutputStreamDemo.func();
}
static class FileOutputStreamDemo{
public static void func() {
try {
// 沒有文件時逢艘,可以同時執(zhí)行創(chuàng)建
FileOutputStream fileOutputStream=new FileOutputStream("e:\\fileOut.txt");
// 寫字節(jié)
fileOutputStream.write(100);
// 寫字符串 getBytes()
fileOutputStream.write("dddd".getBytes());
fileOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void func2() {
// 追加與換行
// 追加:文件輸出流FileOutputStream的構(gòu)造重載乾巧,設(shè)定第二個參數(shù)位true
File file=new File("e:\\fileOut.txt");
try {
FileOutputStream fileOutputStream=new FileOutputStream(file,true);
// 換行:\r\n
fileOutputStream.write("333\r\n".getBytes());
fileOutputStream.write("333".getBytes());
fileOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void func3() {
// 流對象異常處理 標準寫法
File file=new File("e:\\fileOut.txt");
FileOutputStream fileOutputStream=null;
try {
fileOutputStream=new FileOutputStream(file);
fileOutputStream.write("100".getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// 拋出運行時異常绞铃,停止程序
throw new RuntimeException("寫入失敗");
} finally {
try {
// 預(yù)防 輸出流對象創(chuàng)建失敗無需關(guān)閉
if (fileOutputStream!=null) {
fileOutputStream.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}