您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java中inputstream和outputstream的用法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java中inputstream和outputstream的用法”吧!
計(jì)算機(jī)在進(jìn)行I/O時(shí)都是以流的形式來進(jìn)行,Java中所有流的相關(guān)操作的類,都繼承自以下四個(gè)抽象類。
輸入流 | 輸出流 | |
字節(jié)流 | InputStream | OutputStream |
字符流 | Reader | Writer |
InPutStream的實(shí)現(xiàn)
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class TestFileInPutStream { public static void main(String[] args) { try { File file = new File("D:/test/testIO.java"); // 如果文件存在,讀取文件中的內(nèi)容,并在控制臺(tái)輸出 if (file.exists()) { InputStream in = new FileInputStream(file); int a = 0; while ((a = in.read()) != -1) { System.out.print((char) a); } in.close(); } else { // 如果文件不存在返回文件不存在 System.out.println("文件不存在"); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
在D盤已經(jīng)存在testIO文件如下:
將文件中的內(nèi)容輸出到控制臺(tái),結(jié)果如下:
OutPutStream的實(shí)現(xiàn)
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class TestOutPutStream { private static InputStream in; private static OutputStream out; public static void main(String[] args) { try { in = new FileInputStream("D:/test/testIO.java"); if(in == null){ //原文件不存在 System.out.println("原文件不存在"); }else{ //原文件存在,判斷目標(biāo)文件是否存在 File file = new File("D:/test/testIOO.txt"); if(!file.exists()){ //目標(biāo)文件不存在,創(chuàng)建目標(biāo)文件 file.getParentFile().mkdirs(); file.createNewFile(); } //將原文件內(nèi)容讀取到目標(biāo)文件 out = new FileOutputStream(file); int a = 0; while((a = in.read()) != -1){ out.write(a); } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //流關(guān)閉 try { if(in != null){ in.close(); } if(out != null){ out.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
D盤中原文件存在,在D盤中創(chuàng)建了目標(biāo)文件
注意:在判斷原文件是否存在時(shí),直接判斷字節(jié)流文件對(duì)象是否存在
感謝各位的閱讀,以上就是“Java中inputstream和outputstream的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java中inputstream和outputstream的用法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。