列印流主要用于輸出,可以根據類型很友善的進行輸出。列印流分為兩種
位元組列印流:PrintStream
字元列印流:PrintWriter
下面來看看列印流的使用。
1.位元組列印流:PrintStream
示例代碼:
public class Test {
public static void main(String[] args) {
try {
//建構一個位元組輸出流
OutputStream os=new FileOutputStream("L:\\test.txt");
//建構緩沖流
BufferedOutputStream bos=new BufferedOutputStream(os);
//建構位元組列印流
PrintStream ps=new PrintStream(bos);
//資料輸出
//println會換行輸出,print不會換行
ps.println(false);//寫入boolean型
ps.println("好好學習,天天向上");//寫入字元串
ps.println(3.1415926);//寫入double類型
ps.println(new person("小明", 20));//寫入person類型
//關閉流
ps.close();
bos.close();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class person{
String name;
int age;
person(String name,int age){
this.name=name;
this.age=age;
}
//記得重寫toString方法,傳回值即是寫入的資料
@Override
public String toString() {
return "person [name=" + name + ", age=" + age + "]";
}
}
運作結果:
2.字元列印流:PrintWriter
示例代碼:
public class Test {
public static void main(String[] args) {
try {
//建構一個字元輸出流
Writer os=new FileWriter("L:\\test.txt");
//建構緩沖流
BufferedWriter bos=new BufferedWriter(os);
//建構字元列印流
PrintWriter ps=new PrintWriter(bos);
//println會換行輸出,print不會換行
ps.println(false);//寫入boolean型
ps.println("好好學習,天天向上");//寫入字元串
ps.println(3);//寫入int類型
ps.println(new person("小明明", 20));//寫入person類型
//關閉流
ps.close();
bos.close();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class person{
String name;
int age;
person(String name,int age){
this.name=name;
this.age=age;
}
//記得重寫toString方法,傳回值即是寫入的資料
@Override
public String toString() {
return "person [name=" + name + ", age=" + age + "]";
}
}
運作結果:
可以看得出,使用列印流我們可以直接按照java的類型把資料寫入,用起來非常友善。