Java inputstream和outputstream使用詳解
計算機在進行I/O時都是以流的形式來進行,Java中所有流的相關操作的類,都繼承自以下四個抽象類。
輸入流 | 輸出流 | |
字節(jié)流 | InputStream | OutputStream |
字符流 | Reader | Writer |
InPutStream的實現(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 block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.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 block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //流關閉 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)建了目標文件
注意:在判斷原文件是否存在時,直接判斷字節(jié)流文件對象是否存在
到此這篇關于Java inputstream和outputstream使用詳解的文章就介紹到這了,更多相關Java inputstream和outputstream內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot繼承Keycloak實現(xiàn)單點登錄與退出功能
這篇文章主要介紹了Springboot繼承Keycloak實現(xiàn)單點登陸與退出,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08詳解Spring數(shù)據(jù)緩存注解@Cacheable、@CachePut、@CacheEvict
這篇文章主要介紹了詳解Spring數(shù)據(jù)緩存注解@Cacheable、CachePut、@CacheEvict,當以一組參數(shù)第一次調用某個方法時,返回值會被保存在緩存中,如果這個方法再次以相同的參數(shù)進行調用時,這個返回值會從緩存中查詢獲取,需要的朋友可以參考下2023-07-07SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題
這篇文章主要介紹了SpringBoot2.x過后static下的靜態(tài)資源無法訪問的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Java基于解釋器模式實現(xiàn)定義一種簡單的語言功能示例
這篇文章主要介紹了Java基于解釋器模式實現(xiàn)定義一種簡單的語言功能,簡單描述了解釋器模式的概念、功能及Java使用解釋器模式定義一種簡單語言的相關實現(xiàn)與使用技巧,需要的朋友可以參考下2018-05-05java中的JsonSerializer用法,前后端單位轉換必備
這篇文章主要介紹了java中的JsonSerializer用法,前后端單位轉換必備!具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10IDEA的Swing可視化插件JFormDesigner詳解
JFormDesigner是一個專業(yè)的軟件應用程序,專門用于幫助您開發(fā)Java?Swing用戶界面,而無需具備編程技能。它可作為獨立實用程序使用,也可以將其用作各種IDE的插件,本文給大家介紹idea?Swing可視化插件,感興趣的朋友一起看看吧2022-06-06