Java inputstream和outputstream使用詳解
計(jì)算機(jī)在進(jìn)行I/O時(shí)都是以流的形式來進(jìn)行,Java中所有流的相關(guān)操作的類,都繼承自以下四個(gè)抽象類。
輸入流 輸出流 字節(jié)流 InputStream OutputStream 字符流 Reader WriterInPutStream的實(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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//流關(guān)閉try {if(in != null){in.close();}if(out != null){out.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
D盤中原文件存在,在D盤中創(chuàng)建了目標(biāo)文件
注意:在判斷原文件是否存在時(shí),直接判斷字節(jié)流文件對(duì)象是否存在
到此這篇關(guān)于Java inputstream和outputstream使用詳解的文章就介紹到這了,更多相關(guān)Java inputstream和outputstream內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送3. python 如何停止一個(gè)死循環(huán)的線程4. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值5. php5.6不能擴(kuò)展redis.so的解決方法6. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總7. 關(guān)于HTML5的img標(biāo)簽8. Python編寫nmap掃描工具9. python 爬取嗶哩嗶哩up主信息和投稿視頻10. 如何基于python3和Vue實(shí)現(xiàn)AES數(shù)據(jù)加密
