16Java語法回顧之System.in標準的輸入輸出流
Java語法回顧之System.in標準的輸入輸出流
讀了那麼多年的書讓我明白一個道理。人要穩重,不要想到啥就做啥。做一行越久即使你不會,幾年之後慢慢的你也會了,加上一點努力你或許你能成為別人眼中的專家。
System.in&out繼承關係
/*
* 標準的輸入輸出流:
* System.in -- InputStream
* System類:
* public static final InputStream in
*
* InputStream is = System.in;
*
* System.out -- PrintStream -- OutputStream
* System類:
* public static final PrintStream out
*
* PrintStream ps = System.out;
* OutputStream os = System.out;
*/
System.in&out繼承關係程式碼實現
public class SystemInDemo {
public static void main(String[] args) {
InputStream is = System.in; // [email protected]
System.out .println(is);
OutputStream os = System.out;// //[email protected]
System.out.println(os);
}
}
用System.in實現鍵盤錄入到文字
public class MySystemIn {
/**
* 資料來源:System
*
* 目的地:BufferedWriter
*
*/
public static void main(String[] args) throws IOException{
//資料來源
InputStream in = System.in;
//因為BufferedWriter不能直接接受InputStream作為引數型別,所以需要轉換字元流
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
//目的地
BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
//讀取並寫入資料
String line = null;
while ((line = br.readLine())!=null) {
//錄入文字的結束標記
if ("exit".equals(line)) {
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
//關閉流
bw.close();
br.close();
}
}
PrintStream&PrintWriter列印流
/*
* PrintStream:位元組列印流
* PrintWriter:字元列印流
*
* 列印流特點:
* A:可以寫入任意型別的資料。
* B:可以自動重新整理。必須先啟動,並且是使用println,printf及format方法才有效。
* C:可以直接對檔案進行寫入。
* 哪些流物件是可以直接對檔案進行操作的?
* 看構造方法,是否有同時接受File和String型別的引數構造。
*
* 注意:列印流只有寫資料的,沒有讀取資料的。
*
* 構造方法:
* PrintWriter(String fileName)
*/
PrintSWriter字元列印流程式碼測試
public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
// 建立物件
PrintWriter pw = new PrintWriter("a.txt");
//寫資料,可以寫任意型別
pw.write("hello");
// pw.write(123.123);
pw.flush();
pw.close();
}
}
PrintWriter實現自動重新整理自動換行println程式碼測試
public class MySystemIn {
/*
* PrintWriter
* 自動重新整理。並且能夠自動換行。
*/
public static void main(String[] args) throws IOException{
PrintWriter printWriter = new PrintWriter(new FileOutputStream(new File("pw.txt")), true);
printWriter.println(true);
printWriter.println("fafadsfdasf");
printWriter.println(1256);
printWriter.close();
}
}
序列號流
/*
* 序列化:把物件按照流一樣的方式傳輸或者儲存。
* 反序列化:把網路中的流資料或者檔案中的流資料還原成物件。
*
* 把物件儲存到文字檔案。
* ObjectInputStream:ObjectInputStream 對以前使用 ObjectOutputStream 寫入的基本資料和物件進行反序列化
* Object readObject()
* ObjectOutputStream:ObjectOutputStream 將 Java 物件的基本資料型別和圖形寫入 OutputStream。
* void writeObject(Object obj)
*/
序列號流程式碼測試
/*
* 序列化:把物件按照流一樣的方式傳輸或者儲存。
*/
public class MyTest {
/*
* 序列化:把物件按照流一樣的方式傳輸或者儲存。
*/
public static void main(String[] args) throws IOException{
//資料來源
ObjectOutputStream ooStream = new ObjectOutputStream(new FileOutputStream("oo.txt"));
//初始化物件
Person person = new Person("Hasi",23);
//序列號物件到文字檔案中
ooStream.writeObject(person);
ooStream.close();
}
}
————————————————————————————————————————————————————————
public class MyTest {
/*
* 反序列化:把網路中的流資料或者檔案中的流資料還原成物件。
*/
public static void main(String[] args) throws IOException, ClassNotFoundException{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("oo.txt"));
Person readObject = (Person) ois.readObject();
ois.close();
System.out.println(readObject);
}
}
Properties集合和IO流
/*
* Properties:是一個表示屬性集的集合。可以從流中載入資料或者把資料儲存到流中。鍵和值都是字串。
* 是唯一一個可以和IO流結合使用的集合類。
*
* Properties的父親是Hashtable,所以,我們知道它是一個Map體現的。那麼,我們就儲存資料並遍歷。
*/
Properties修改方法
/*
* Properties作為集合的特殊功能:
* 1:修改功能
* public Object setProperty(String key,String value)
* 2:獲取功能
* public String getProperty(String key)
* public String getProperty(String key,String defaultValue)
* public Set<String> stringPropertyNames()
*/
Properties修改方法程式碼測試
public class PropertiesDemo2 {
public static void main(String[] args) {
// 建立集合物件
Properties prop = new Properties();
// 新增元素
// System.out.println(prop.setProperty("劉備", "雙股劍"));
// System.out.println(prop.setProperty("關羽", "青龍偃月刀"));
// System.out.println(prop.setProperty("張飛", "丈八蛇矛"));
// System.out.println(prop.setProperty("劉備", "哭泣"));
prop.setProperty("劉備", "雙股劍");
prop.setProperty("關羽", "青龍偃月刀");
prop.setProperty("張飛", "丈八蛇矛");
// 根據鍵獲取值
// System.out.println(prop.getProperty("劉備"));
// System.out.println(prop.getProperty("關羽"));
// System.out.println(prop.getProperty("張飛"));
// System.out.println(prop.getProperty("趙雲"));
// public String getProperty(String key,String defaultValue)
// System.out.println(prop.getProperty("劉備", "黃忠"));
// System.out.println(prop.getProperty("趙雲", "黃忠"));
// public Set<String> stringPropertyNames()
Set<String> set = prop.stringPropertyNames();
for (String key : set) {
String value = prop.getProperty(key);
System.out.println(key + "---" + value);
}
}
}
集合和IO的結合是什麼意思
/*
* System:
* public static Properties getProperties():系統屬性
*
* 集合和IO的結合是什麼意思?
* 難道是指可以把集合中的資料儲存到IO流中(檔案中。)
* 不是,如果是的話,那麼,任意的集合資料我們都可以儲存到文字檔案中。
* 那麼,到底什麼是集合和IO流的結合呢?
*/
集合和IO的結合程式碼測試
public class PropertiesDemo3 {
public static void main(String[] args) {
Properties prop = System.getProperties();
// System.out.println(prop.size());
// 遍歷
Set<String> set = prop.stringPropertyNames();
for (String key : set) {
String value = prop.getProperty(key);
System.out.println(key + "***" + value);
}
}
}
打印出當前的系統資訊
Properties和IO結合使用
/*
* 結合的方式就是,引數傳遞IO流物件。
* 怎麼使用呢?
* public void list(PrintStream out)
* public void list(PrintWriter out)
* 把集合中的資料按照鍵值對的形式儲存到文字檔案中。
*/
Properties和IO結合使用的程式碼測試
public class MySystemIn {
/*
* 需求:把獲取到的系統資訊寫入到文字檔案中
*/
public static void main(String[] args) throws IOException, ClassNotFoundException{
Properties properties = System.getProperties();
// properties.list(new PrintStream(new File("properties.txt")));
PrintStream printStream = new PrintStream(new File("properties.txt"));
properties.list(printStream);
printStream.close();
}
}
相關推薦
16Java語法回顧之System.in標準的輸入輸出流
Java語法回顧之System.in標準的輸入輸出流 讀了那麼多年的書讓我明白一個道理。人要穩重,不要想到啥就做啥。做一行越久即使你不會,幾年之後慢慢的你也會了,加上一點努力你或許你能成為別人眼中
3.6 Java之轉換流和標準輸入輸出流
轉換流 轉換流(屬於處理流)作用在節點流之上 轉換流共兩種:輸入型和輸出型 輸入型轉換流:將輸入型位元組流轉換為輸入型字元流,使得以字元形式讀入,提高效率,輸出型同理 解碼:由位元組陣
Java之標準輸入輸出流以及標準錯誤輸出流的基本使用
標準輸入輸出流以及標準錯誤輸出流的基本使用: System.out 是一個特殊的 PrintStream "標準"輸出流 ==》 輸出結果到控制檯System.err 是一個特殊的 Print
標準輸入輸出流對象
com 包括 後繼 print 一個 定向 輸出流 ner 轉換 System類的靜態成員變量,包括 System.in:InputStream類型的,代表標準輸入流,默認狀態對應於鍵盤輸入。 System.out:PrintStream類型的,代表標註輸出流,默認狀態對應
Java 知識點整理-17.IO流 其他流 序列流+序列化+反序列化+記憶體輸出流+物件操作流+列印流+標準輸入輸出流+鍵盤錄入方式+隨機訪問流+資料輸入輸出流+Properties
目錄 序列流 記憶體輸出流 記憶體輸出流的面試題 物件操作流ObjectOutputStream 物件操作流ObjectInputStream 物件操作流優化 序列化加上id號 列印流的概述和特點 標準輸入輸出流概述和輸出語句 修改標準輸入輸出流拷貝圖片
_118_Java_標準輸入輸出流
---------------------------------- import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i
javaSE (三十三)其他流(序列流、記憶體輸出流、隨機訪問流、物件操作流、資料輸入輸出流、列印流、標準輸入輸出流、properties)
1、序列流(SequenceInputStream ): 序列流主要的作用就是整合位元組輸入流,將很多的進口整合成一個 這裡著重講一下多於兩個輸入流的整合: 步驟: 建立三個輸入流 建立vector集合存入這些輸入流 將這些輸入流變成列舉型別 Vector.e
java中標準輸入輸出流
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.i
vector,string,標準輸入輸出流,檔案輸入輸出流01(C++)
按要求編寫程式。 a) 定義一個結構體型別 Student,如下所示: struct Student { int ID; //學號 string name; //姓名 float score[3]; //三門課程成績 }; b) 編寫一個函式,按照上述結構體定義,依次從鍵盤輸
標準輸入輸出流,string 亦可使用01(C++)
從鍵盤輸入一個不包括空格的僅由英文字母組成的字串,長度不超過 200 個字元。統計 26 個英文字母的使用頻率(出現的 次數),不區分大小寫。最後按使用頻率從大到小的順序輸出字母(小寫字母)及其使用頻率,沒有出現的字母不輸出 /*==================
緩衝流,轉換流,標準輸入輸出流
宣告:由於學習所用環境為JDK1.8,所有java程式碼均在JDK1.8環境中測試通過,如果環境發生變化,可能會有錯誤發生!一.緩衝流緩衝流是處理流的一種,建立在相應的節點流之上,對讀寫的資料提供了緩衝的功能,提高了讀寫的效率,還增加了一些新的方法JDK提供四種緩衝流Buff
標準輸入輸出流OutputStreamWriter:將位元組輸出流轉換為字元輸出流InputStreamReader:將位元組輸入流轉換為字元輸入流列印流新增輸出資料的功能ObjectInputStrea
1.1 標準輸入輸出流 public static final InputStream in:標準輸入流 public static final PrintStream out:標準輸出流 OutputStreamWriter:將位元組輸出流轉換為字元輸出流 publicc
20180119:緩衝流、轉換流、標準輸入輸出流
今天重點學習瞭解了緩衝流和轉換流的內容,標準輸入輸出流並不複雜,較為容易理解 一、緩衝流 緩衝流是處理流的一種,建立在相應的節點流之上,對讀寫的資料提供了緩衝的功能,作用就是為了提高讀寫的效率,由於普通的輸入流在讀取檔案時效率較低,建立自定義的緩衝區也造成了記憶體的浪費;同
Qt讀寫標準輸入/輸出流
答案:QFile和QTextSream QTextStream我沒嘗試過,可跳轉: https://blog.csdn.net/haha_mingg/article/details/6884883 QFile可行,具體例項,可見https://blog.csdn.net
Java中標準輸入輸出流的重定向
一、問題的引入: 一般情況下,System.in代表的是鍵盤、System.out是代表的控制檯(顯示器)。當程式通過System.in來獲取輸入的時候,預設情況下,是從鍵盤讀取輸入;當程式試圖通過System.out執行輸出時,程式總是輸出到顯示器。如果我們想對這樣的情況
python 標準輸入輸出流
python 中有三種標準輸入輸出流:sys.stdin、sys.stdout、sys.error >>> f = open("1.txt", "r") # fileno方法可返
IO流:System.in、SequenceInputStream合並流、內存輸入輸出流、數據流
string類型 釋放 rgs int() 當前 控制臺輸出 exc extend 清空 1、System.in System.out 是常用的在控制臺輸出數據的 System.in 可以從控制臺輸入數據 InputStream is = System.
Java筆記-I/O流之系統標準輸入輸出
Java的標準輸入和輸出介紹 Java遵循標準I/O的模型,提供了Syetem.in,System.out,以及System.err。 System.out 是一個已經預先處理過的,被包裝成PrintStream的物件。 System.err 和 Syst
linux重定向標準輸入輸出,標準錯誤
lin linux重定向 文件描述符 name txt 文件 sets color 描述符 標準輸入是文件描述符0。它是命令的輸入,缺省是鍵盤,也可以是文件或其他命令的輸出。標準輸出是文件描述符1。它是命令的輸出,缺省是屏幕,也可以是文件。標準錯誤是文件描述符2。這是命令錯
linux標準輸入輸出
超過 理論 -- happy cal ant 參數 結構體類型 ads 一 簡介 sdtin, stdout, stderr分別稱為標準輸入,標準輸出,標準錯誤輸出, 它們的聲明如下: /* Standard streams. */extern FILE *stdin