Java inputstream和outputstream使用詳解
計算機在進行I/O時都是以流的形式來進行,Java中所有流的相關操作的類,都繼承自以下四個抽象類。
輸入流 輸出流 字節(jié)流 InputStream OutputStream 字符流 Reader WriterInPutStream的實現(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)容,并在控制臺輸出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)容輸出到控制臺,結果如下:
OutPutStream的實現(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{//原文件存在,判斷目標文件是否存在File file = new File('D:/test/testIOO.txt');if(!file.exists()){//目標文件不存在,創(chuàng)建目標文件file.getParentFile().mkdirs();file.createNewFile();}//將原文件內(nèi)容讀取到目標文件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{//流關閉try {if(in != null){in.close();}if(out != null){out.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
D盤中原文件存在,在D盤中創(chuàng)建了目標文件
注意:在判斷原文件是否存在時,直接判斷字節(jié)流文件對象是否存在
到此這篇關于Java inputstream和outputstream使用詳解的文章就介紹到這了,更多相關Java inputstream和outputstream內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. 在vue中獲取wangeditor的html和text的操作2. 使用vue-cli創(chuàng)建項目并webpack打包的操作方法3. Python用K-means聚類算法進行客戶分群的實現(xiàn)4. Python加載數(shù)據(jù)的5種不同方式(收藏)5. python mysql 字段與關鍵字沖突的解決方式6. python編寫五子棋游戲7. Java xml數(shù)據(jù)格式返回實現(xiàn)操作8. 解決Android Studio Design界面不顯示layout控件的問題9. python讀取中文路徑時出錯(2種解決方案)10. Java源碼解析之接口List
