想要查看此教程的目錄請(qǐng)點(diǎn)擊:Java IO教程目錄貼地址
Java網(wǎng)絡(luò)相關(guān)的內(nèi)容或多或少在此教程的范圍之外信殊。Java網(wǎng)絡(luò)相關(guān)的更多細(xì)節(jié)在教程Java Networking Tutorial中万牺。由于網(wǎng)絡(luò)連接也是常見的數(shù)據(jù)源或數(shù)據(jù)目的地题涨,同時(shí)也是你也會(huì)用Java IO的相關(guān)API通過網(wǎng)絡(luò)連接進(jìn)行通訊功偿,所以這里會(huì)對(duì)Java網(wǎng)絡(luò)進(jìn)行簡單的介紹眷细。
當(dāng)兩個(gè)進(jìn)程間通過建立網(wǎng)絡(luò)連接進(jìn)行通訊泳唠,這就像他們之間會(huì)用一個(gè)文件:使用InputStream去讀取數(shù)據(jù)京郑,再使用OutputStream去寫出數(shù)據(jù)醒陆。也就是說瀑构,Java網(wǎng)絡(luò)相關(guān)API用來在連個(gè)進(jìn)程間建立網(wǎng)絡(luò)連接,Java IO利用建立的網(wǎng)絡(luò)連接做數(shù)據(jù)交互刨摩。
這主要意味著寺晌,如果你想把一些東西寫入到文件中,那么把它寫入到網(wǎng)絡(luò)連接中也是一樣簡單的澡刹。無非就是把FileOutputStream替換成了OutputStream呻征。由于FileOutputStream是OutputStream的子類,所以這當(dāng)然也不是什么問題罢浇。
實(shí)際上怕犁,從文件讀取也一樣。一個(gè)組件如果可以從文件讀取數(shù)據(jù)己莺,也同樣可以從網(wǎng)絡(luò)連接讀取數(shù)據(jù)奏甫。只要確定你的讀取部分組件是依賴于InputStream而非FileInputStream。
這里提供一個(gè)例子:
public class MyClass {
public static void main(String[] args) {
InputStream inputStream = new FileInputStream("c:\\myfile.txt");
process(inputStream);
}
public static void process(InputStream input) throws IOException {
//do something with the InputStream
}
}
在這個(gè)例子中凌受,process()方法并不關(guān)心參數(shù)InputStream是從文件系統(tǒng)中還是網(wǎng)絡(luò)連接讀取來的數(shù)據(jù)(例子中緊緊是寫成了從系統(tǒng)中讀取的文件)阵子,這個(gè)方法僅僅是通過InputStream而已。