IO框架(八)列印流、轉換流
阿新 • • 發佈:2022-02-13
IO框架(八)列印流、轉換流
目錄列印流:PrintWriter
特點
- 封裝了print()/println()方法,支援寫入後換行
- 支援資料原樣列印
方法
Modifier and Type | Method and Description |
---|---|
PrintWriter |
append(char c) 將指定的字元附加到此作者。 |
PrintWriter |
append(CharSequence csq) 將指定的字元序列附加到此作者。 |
PrintWriter |
append(CharSequence csq, int start, int end) 將指定字元序列的子序列附加到此作者。 |
boolean |
checkError() 如果流未關閉,請重新整理流並檢查其錯誤狀態。 |
protected void |
clearError() 清除此流的錯誤狀態。 |
void |
close() 關閉流並釋放與之相關聯的任何系統資源。 |
void |
flush() 重新整理流。 |
PrintWriter |
format(Locale l, String format, Object... args) 使用指定的格式字串和引數將格式化的字串寫入此寫入程式。 |
PrintWriter |
format(String format, Object... args) 使用指定的格式字串和引數將格式化的字串寫入此寫入程式。 |
void |
print(boolean b) 列印布林值。 |
void |
print(char c) 列印一個字元 |
void |
print(char[] s) 列印字元陣列。 |
void |
print(double d) 列印雙精度浮點數。 |
void |
print(float f) 列印浮點數。 |
void |
print(int i) 列印一個整數。 |
void |
print(long l) 列印一個長整數。 |
void |
print(Object obj) 列印一個物件。 |
void |
print(String s) 列印字串。 |
PrintWriter |
printf(Locale l, String format, Object... args) 使用指定的格式字串和引數將格式化的字串寫入該writer的方便方法。 |
PrintWriter |
printf(String format, Object... args) 使用指定的格式字串和引數將格式化的字串寫入該writer的方便方法。 |
void |
println() 通過寫入行分隔符字串來終止當前行。 |
void |
println(boolean x) 列印一個布林值,然後終止該行。 |
void |
println(char x) 列印一個字元,然後終止該行。 |
void |
println(char[] x) 列印字元陣列,然後終止行。 |
void |
println(double x) 列印雙精度浮點數,然後終止行。 |
void |
println(float x) 列印一個浮點數,然後終止該行。 |
void |
println(int x) 列印一個整數,然後終止該行。 |
void |
println(long x) 列印一個長整型,然後終止行。 |
void |
println(Object x) 列印一個物件,然後終止該行。 |
void |
println(String x) 列印一個字串,然後終止行。 |
protected void |
setError() 表示發生錯誤。 |
void |
write(char[] buf) 寫入一個字元陣列。 |
void |
write(char[] buf, int off, int len) 寫一個字元陣列的一部分。 |
void |
write(int c) 寫一個字元 |
void |
write(String s) 寫一個字串 |
void |
write(String s, int off, int len) 寫一個字串的一部分。 |
舉例
public class Demo08 {
public static void main(String[] args) throws Exception{
PrintWriter pw = new PrintWriter("D:\\練習3.txt");
pw.println(97);
pw.println(true);
pw.println(3.14);
pw.println('a');
pw.close();
System.out.println("執行完畢");
}
}
轉換流
橋轉換流:
- InputStreamReader/OutputStreamWriter
- 可將位元組流轉換為字元流
- 可設定字元的編碼方式
InputStreamReader
方法
Modifier and Type | Method and Description |
---|---|
void |
close() 關閉流並釋放與之相關聯的任何系統資源。 |
String |
getEncoding() 返回此流使用的字元編碼的名稱。 |
int |
read() 讀一個字元 |
int |
read(char[] cbuf, int offset, int length) 將字元讀入陣列的一部分。 |
boolean |
ready() 告訴這個流是否準備好被讀取。 |
舉例1
public class DEMO09 {
public static void main(String[] args) throws Exception{
FileInputStream fis = new FileInputStream("D:\\練習2.txt");
InputStreamReader isr = new InputStreamReader(fis,"utf-8");//寫上編碼方式
int data=0;
while ((data=isr.read())!=-1){
System.out.print((char)data);
}
isr.close();
}
}
//輸出:
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
加油史小鵬!
OutputStreamWriter
方法
Modifier and Type | Method and Description |
---|---|
void |
close() 關閉流,先重新整理。 |
void |
flush() 重新整理流。 |
String |
getEncoding() 返回此流使用的字元編碼的名稱。 |
void |
write(char[] cbuf, int off, int len) 寫入字元陣列的一部分。 |
void |
write(int c) 寫一個字元 |
void |
write(String str, int off, int len) 寫一個字串的一部分。 |
舉例1
public class Demo10 {
public static void main(String[] args) throws Exception{
FileOutputStream fos = new FileOutputStream("D:\\練習4.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"gbk");
//寫入
for (int i=0;i<10;i++){
osw.write("史小鵬Yes!\n");
osw.flush();
}
osw.close();
fos.close();
System.out.println("完成");
}
}