版權聲明:本文為部落客原創文章,轉載請注明出處。 https://blog.csdn.net/twilight_karl/article/details/53257915
節點流:
位元組數組輸入流 ByteArrayInputStream
位元組數組輸出流 ByteArrayOutputStream
将位元組數組轉化成流
ByteArrayInputStream(byte [] )
不用關閉
toByteArray() 輸出到位元組數組
處理流
輸入流:DataInputStream(InputStream x) readXXX()
輸出流:DataOutputStream(OutputStream x) writeXXX()
// DataInputStream/DataOutputStream 寫入到檔案/從檔案讀取
public static void main (String [] args) throws IOException{
File file = new File("D:/桌面/DataInputStream.txt");
DataInputStream input = new DataInputStream(new FileInputStream(file));
// DataOutputStream output = new DataOutputStream(new FileOutputStream(file));
int a = 100;
double b = 200;
String c = "string";
// output.writeInt(a);
// output.writeDouble(b);
// output.writeUTF(c);
int d = input.readInt();
double e = input.readDouble();
String f = input.readUTF();
System.out.println(d);
System.out.println(e);
System.out.println(f);
// output.close();
// input.close();
}
對象序列化:
ObjectInputStream -> readObject()
ObjectOutputStream -> writeObject()
先序列化後反序列化,對象必須使用java.io.Seriallizable接口
不是所有屬性都需要序列化,用transient表示不需要序列化的屬性
可變參數隻能放在新蔡的最後一個位置(Closeable …)
…可變參數,處理方式與數組一緻
try- with-resource
列印流和輸入流
system.out
system.in
printStream
PrintStream ps = System.out
ps.println();
ps = new PrintStream(new BufferedOutputStream(new FileOutputStream(src)))
ps.println(); //輸出到檔案
System.out
System.err
System.in 鍵盤輸入
PrintStream output = new PrintStream(new FileOutputStream(new File("D:/桌面/2.txt")));
output.print("printStream");
InputStream in = System.in;//system.in 實際上是一個InputStream流
重定向
setIn()
setOut()
setErr()
System.setOut(new PrintStream(new FileOutputStream(“”)));
System.out.println(“2333”);
System.setOut(new PrintStream(new FileOutputStream(new FileDescripter.out)));//傳回控制台
System.setOut(new PrintStream(new FileOutputStream("D:/桌面/3.txt")));
System.out.println("重定向");