电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java FileInputStream與FileOutputStream使用詳解

瀏覽:3日期:2023-12-06 10:22:04
什么是InputStream和OutputStream?

InputStream和OutputStream是抽象類,是所有字節(jié)輸入流和輸出流的父類。這里,我們首先要分清楚兩個概念:

InputStream(輸入流):輸入流是用來讀入數(shù)據(jù)的。- - - > > >讀入 OutputStream(輸出流):輸出流是用來寫出數(shù)據(jù)的。- - - > > >寫出文件輸入流——FileInputStream

FileInputStream 從文件系統(tǒng)中的某個文件中獲得輸入字節(jié)。

構造方法

//通過打開一個到實際文件的連接來創(chuàng)建一個 FileInputStream,該文件通過文件系統(tǒng)中的 File 對象 file 指定。public FileInputStream(File file);//通過打開一個到實際文件的連接來創(chuàng)建一個 FileInputStream,該文件通過文件系統(tǒng)中的路徑名 name 指定。public FileInputStream(String name);常用的方法從輸入流中讀取一個字節(jié)大小的數(shù)據(jù)

//從此輸入流中讀取一個數(shù)據(jù)字節(jié)。public int read();從輸入流一次讀取一個字節(jié)數(shù)組

//從此輸入流中將最多 b.length 個字節(jié)的數(shù)據(jù)讀入一個 byte 數(shù)組中。public int read(byte[] b);//從此輸入流中將最多 len 個字節(jié)的數(shù)據(jù)讀入一個 byte 數(shù)組中。off:目標數(shù)組 b 中的起始偏移量。public int read(byte[] b,int off,int len);從文件中讀取數(shù)據(jù):

import java.io.FileInputStream;/** * FileInputStream:節(jié)點流(低級流),從文件中讀入數(shù)據(jù) * @author Administrator * */public class FISDemo01 { public static void main(String[] args){String content=null;try { int size=0; //定義一個字節(jié)緩沖區(qū),該緩沖區(qū)的大小根據(jù)需要來定義 byte[] buffer=new byte[1024]; FileInputStream fis=new FileInputStream('FOSDemo.txt'); //循環(huán)來讀取該文件中的數(shù)據(jù) while((size=fis.read(buffer))!=-1){content=new String(buffer, 0, size);System.out.println(content); }//關閉此文件輸入流并釋放與此流有關的所有系統(tǒng)資源。 fis.close();} catch (Exception e) { e.printStackTrace();} }}文件輸出流——FileOutputStream

文件輸出流是用于將數(shù)據(jù)寫入到文件中。

構造方法

//創(chuàng)建一個向指定 File 對象表示的文件中寫入數(shù)據(jù)的文件輸出流。public FileOutputStream(File file);//創(chuàng)建一個向指定 File 對象表示的文件中寫入數(shù)據(jù)的文件輸出流。如果第二個參數(shù)為 true,則將字節(jié)寫入文件末尾處,而不是寫入文件開始處。public FileOutputStream(File file,boolean append);//創(chuàng)建一個向具有指定名稱的文件中寫入數(shù)據(jù)的輸出文件流。public FileOutputStream(String name);//創(chuàng)建一個向具有指定 name 的文件中寫入數(shù)據(jù)的輸出文件流。如果第二個參數(shù)為 true,則將字節(jié)寫入文件末尾處,而不是寫入文件開始處。public FileOutputStream(String name,boolean append);常用方法向文件中寫入一個字節(jié)大小的數(shù)據(jù)

//向文件中寫入一個字節(jié)大小的數(shù)據(jù)public void write(int b);向文件中一次性寫入一個字節(jié)數(shù)組的數(shù)據(jù)

//將 b.length 個字節(jié)從指定 byte 數(shù)組寫入此文件輸出流中。public void write(byte[] b);//指定 byte 數(shù)組中從偏移量 off 開始的 len 個字節(jié)寫入此文件輸出流。 public void write(byte[] b,int off,int len);向文件中寫出數(shù)據(jù):

import java.io.FileOutputStream;/** * FileOutputStream:節(jié)點流(低級流),向文件中寫出數(shù)據(jù) * @author Administrator * */public class FOSDemo01 { public static void main(String[] args){try { //向文件中寫入字節(jié)數(shù)組 String font='輸出流是用來寫入數(shù)據(jù)的!'; FileOutputStream fos = new FileOutputStream('FOSDemo.txt'); fos.write(font.getBytes()); //關閉此文件輸出流并釋放與此流有關的所有系統(tǒng)資源。此文件輸出流不能再用于寫入字節(jié)。 如果此流有一個與之關聯(lián)的通道,則關閉該通道。 fos.close();} catch (Exception e) { e.printStackTrace();} }}使用FileInputStream和FileOutputStream實現(xiàn)文件的復制

import java.io.FileInputStream;import java.io.FileOutputStream;/** * 使用文件輸入流和文件輸出流實現(xiàn)文件的復制 * @author Administrator * */public class SummaryFISAndFOS { public static void main(String[] args){/** * 1.先將文件中的內(nèi)容讀入到輸入流中 * 2.將輸入流中的數(shù)據(jù)通過輸出流寫入到目標文件中 * 3.關閉輸入流和輸出流 */try { long begin=System.currentTimeMillis(); //從輸入流中讀取數(shù)據(jù) FileInputStream fis=new FileInputStream('FOSDemo.txt'); //向輸出流中寫入數(shù)據(jù) FileOutputStream fos=new FileOutputStream('FISAndFOSDest.txt'); //先定義一個字節(jié)緩沖區(qū),減少I/O次數(shù),提高讀寫效率 byte[] buffer=new byte[10240]; int size=0; while((size=fis.read(buffer))!=-1){fos.write(buffer, 0, size); } fis.close(); fos.close(); long end=System.currentTimeMillis(); System.out.println('使用文件輸入流和文件輸出流實現(xiàn)文件的復制完畢!耗時:'+(end-begin)+'毫秒');} catch (Exception e) { e.printStackTrace();}//解決JNI問題(Java Native Interface)System.exit(0); }}

運行結果: 使用文件輸入流和文件輸出流實現(xiàn)文件的復制完畢!耗時:17毫秒

以上基本上就是我們經(jīng)常用到的方法的介紹,記得最后一定要close()哦!

到此這篇關于Java FileInputStream與FileOutputStream使用詳解的文章就介紹到這了,更多相關Java FileInputStream與FileOutputStream內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關文章:
主站蜘蛛池模板: 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 间苯二酚,间苯二酚厂家-淄博双和化工 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 温州富欧金属封头-不锈钢封头厂家 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备| 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 飞飞影视_热门电影在线观看_影视大全 | 达利园物流科技集团-| 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 物和码官网,物和码,免费一物一码数字化营销SaaS平台 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 浙江自考_浙江自学考试网| 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | ALC墙板_ALC轻质隔墙板_隔音防火墙板_轻质隔墙材料-湖北博悦佳 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 |