Java学习笔记之 IO包 字节流
IO包最重要的五個類和一個接口
File/OutputStream/InputStream(字節(jié)流)/Writer/Reader(字符流)
一個接口:Serializable
?
File類:
字節(jié)流:
OutputStream與InputStream是抽象類
OutputStream是整個IO包中,字節(jié)輸出流的最大類
FileOutputStream是一個子類,通常用整個子類通過多態(tài)實例化OutputStream
?
?
?
packageiotest;
?
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.OutputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.FileInputStream;
?
publicclass OutputStreamDemo1 {
public static void main(String args[]) throws Exception{
File f =newFile("D:"+File.separator+"javasrc"+File.separator+"write_file.txt");
OutputStream o=null;
o=new FileOutputStream(f);
String s="Hello World!";
byte b[]=s.getBytes();
o.write(b);
o.close();
//修改文件 追加文件內容
OutputStream o1=null;
o1=new FileOutputStream(f,true);
o1.write("\r\n".getBytes()); //增加換行符
o1.write(b);
o1.close();
?
//讀取并打印文件
//01 定義一個字節(jié)數組 長度為1024
InputStream in1=null;
in1=new FileInputStream(f);
byte b1[]=new byte[1024];
int len=in1.read(b1);
in1.close();????????????????
print(b1,len);
?
//02 定義一個字節(jié)數組 長度為文件長度
InputStream in2=null;
in2=new FileInputStream(f);
byte b2[]=new byte[(int)f.length()];
in2.read(b2);
in2.close();
print(b2);
?
?? ????//03 已經文件長度 逐個字節(jié)讀取
?????? ???????InputStream in3=null;
in3=new FileInputStream(f);
byte b3[]=new byte[(int)f.length()];
for (int i=0;i<b3.length;i++){
b3[i]=(byte) in3.read();
}
in3.close();
print("the third read method:");
print(b3);
?????
//04 未知文件長度讀取
InputStream in4=null;
in4=new FileInputStream(f);
byte b4[]=new byte[1024];
int i=0;
int temp=0;
while ((temp=in4.read())!=-1){
b4[i]=(byte)temp;
i++;
}
in4.close();
print("the fourth read method:");
print(b4);
}
?
public static void print(byte b[],int len){
System.out.println(new String(b,0,len));
}
public static void print(byte b[]){
System.out.println(new String(b));
}
public static void print(String b){
System.out.println(b);
}
?
}
總結
以上是生活随笔為你收集整理的Java学习笔记之 IO包 字节流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思考的技术与艺术
- 下一篇: Java学习笔记之 IO包 字符流