FileOutputStream 类 和 FileInputStream类的简单介绍,附代码演示。以及一个复制媒体文件的小程序。
一、FileOutputStream类。
构造函数:FileOutputStream fos = new FileOutputStream(String fileName);//参数为相关联的文件路径及名称。
主要方法:viod write(byte []b);//将b.length 个字节写入到目的文件中去。
void write(byte []b,int off,int len);//将指定数组中偏移量off开始的len个字节写入该文件中。(未演示)
void fiush();//刷新该流,将该流中的字节刷到目的文件中去。
void close();//关闭此流,并释放所有与该流相关的资源。同样关闭前先调用flush()方法。
二、FileInputStrean类
构造函数:FileInputStream fis = new FileInputStream(String fileName);//参数为相关联的文件路径及名称。
主要方法:int read();//从此流中读取下一个数据字节。
int read(byte[] b);//从此流中读取b.length个字符到该byte数组中。
int read(byte[] b,int off,int len);//将此流中的len个字节数据读入到byte数组偏移off(含off)向后位置中。(未演示)
int available();//返回剩余的文件字节数。
package ByteStream;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class ByteStreamDemo {/*** @param args* @throws IOException */public static void main(String[] args) throws IOException { // demo_Write();demo_Read();}public static void demo_Read() throws IOException {FileInputStream fis = new FileInputStream("C:\\out_Stream.txt");// System.out.println(fis.available());//打印文件所占字节数。 // byte []bfr = new byte[fis.available()];//不建议使用,当文件过大时,会照成内存不足。 // fis.read(bfr); // System.out.println(new String(bfr));//推荐使用这个。byte[]ch = new byte[1024];int len = 0;while((len = fis.read(ch)) != -1){System.out.println(new String(ch,0,len));}// int ch = 0; // while((ch = fis.read()) != -1){ // System.out.print((char)ch); // }// int ch = fis.read(); // System.out.println((char)ch);fis.close();}public static void demo_Write() throws IOException {//创建字节输出流对象。用于操作文件。FileOutputStream fos = new FileOutputStream("C:out_Stream.txt");//写字节数据。fos.write("hello!FileOuyputStream!".getBytes());fos.close();}}
复制媒体文件的不同程序
package ByteStream;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class CopyMp3 {public static void main(String[] args) throws IOException { // copy_Show1(); // copy_Show2(); // copy_Show3();copy_Show4(); // copy_Show5();}public static void copy_Show5() throws IOException {/*** 没用缓冲技术,超级慢。。。!*/FileInputStream fis = new FileInputStream("f:\\王强 - 不想让你哭.mp3");FileOutputStream fos = new FileOutputStream("f:\\王强 - 不想让你哭(6).mp3");int ch = 0;while ((ch = fis.read()) != -1) {fos.write(ch);}fis.close();fos.close();}public static void copy_Show4() throws IOException {//不建议使用。当文件过大时,会内存溢出!FileInputStream fis = new FileInputStream("f:\\王强 - 不想让你哭.mp3");BufferedInputStream bufis = new BufferedInputStream(fis);FileOutputStream fos = new FileOutputStream("f:\\王强 - 不想让你哭(5).mp3");BufferedOutputStream bufos = new BufferedOutputStream(fos);byte []b = new byte[bufis.available()];bufis.read(b);bufos.write(b); bufis.close();bufos.close();}public static void copy_Show3() throws IOException {FileInputStream fis = new FileInputStream("f:\\王强 - 不想让你哭.mp3");BufferedInputStream bufis = new BufferedInputStream(fis);FileOutputStream fos = new FileOutputStream("f:\\王强 - 不想让你哭(4).mp3");BufferedOutputStream bufos = new BufferedOutputStream(fos);int ch = 0;while ((ch = bufis.read()) != -1) {bufos.write(ch);}bufis.close();bufos.close();}public static void copy_Show2() throws IOException {FileInputStream fis = new FileInputStream("f:\\王强 - 不想让你哭.mp3");BufferedInputStream bufis = new BufferedInputStream(fis);FileOutputStream fos = new FileOutputStream("f:\\王强 - 不想让你哭(3).mp3");BufferedOutputStream bufos = new BufferedOutputStream(fos);byte[] mybufb = new byte[1024];int len = 0;while ((len = bufis.read(mybufb)) != -1) {bufos.write(mybufb, 0, len);bufos.flush();}bufis.close();bufos.close();}public static void copy_Show1() throws FileNotFoundException, IOException {FileInputStream fis = new FileInputStream("f:\\王强 - 不想让你哭.mp3");FileOutputStream fos = new FileOutputStream("f:\\王强 - 不想让你哭(2).mp3");byte[] mybufb = new byte[1024];int len = 0;while ((len = fis.read(mybufb)) != -1) {fos.write(mybufb, 0, len);}fis.close();fos.close();}}
FileOutputStream 类 和 FileInputStream类的简单介绍,附代码演示。以及一个复制媒体文件的小程序。相关推荐
- PipedInputStream类 和 PipedOutputStream类 的简单介绍和代码演示
PipedOutputStream类 和PipedInputStream 类为管道输出流 和管道输入流.通常都是以管道输出流作为管道的起始端,通常管道输出流和管道输入流通过connect方法连接起来, ...
- php 运营商授权,PHP判断手机号运营商(详细介绍附代码)
道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...
- linux下的fgetc()与fputc()函数详细介绍及代码演示
linux下的标准I/O的fgetc()与fputc()函数详细介绍及代码演示 文章目录 前言 一.fgetc()用法介绍 二.fputc()用法介绍 代码演示 总结 前言 在C语言中,读写文件比较灵 ...
- VC++6.0 win32 控制台应用程序 简单应用 附代码
**VC++6.0 win32 控制台应用程序 简单应用 附代码 ** .cpp 文件名 注意:在源文件添加如下声明: #include //没有.h using namespace std;//使用 ...
- InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流. ...
- 关于类模板怎么用的简单介绍
类模板的意义: 一般是减少类体内容一致但参数类型不同的类的编写: 类模板的应用流程: 1.首先你需要先写一个普通的类.参数类型先人选一样 class Compare{private:int a,b;p ...
- 计算机网络 文件传输小程序代码,懒得打开电脑传文件?这四类小程序把这事解决了...
生命在于静止,主持人吴昕这句火爆的口头禅,诠释了当代人对于"懒"的追求. 懒得出门吃饭,有外卖:懒得下载应用,有小程序... 在办公场景下,更是要"懒"到底,不 ...
- 详细介绍附代码:使用jquery,和php文件构建一个简单的在线聊天室,通过ip显示googlemap
最近学习了关于使用最为流行的jquery发送请求,在实践中以最为简单的聊天室作为测验的辅助工具,对相关网页开发有一个初步的认识,希望大家能够一起学习进步. 首先介绍一下相关文件信息和功能 ...
- ResNet简单介绍+Pytroch代码实现
文章目录 一.背景介绍 二.ResNet网络结构 1.ResNet34结构示意图 2.不同层数的ResNet采用的Block结构. 3.不同层数的ResNet网络结构示意图 4.实验结果 三.Pytr ...
最新文章
- Qt中文手册 之 QApplication
- POJ 1038 Bugs Integrated Inc (复杂的状压DP)
- iOS病毒XcodeGhost批量检测工具,开源Github(检测ipa文件)
- mysql数据库性能指标结果_MySQL数据库性能优化的关键参数(转)
- [转]利用ASP.NET 2.0创建自定义Web控件(1)
- Divan and a New Project 贪心,模拟(1000)
- 最近面试一些厂的面经整理(阿里,腾讯,字节等)
- ios上textarea不能输入
- 判断是否为ajax请求
- SQL Server创建复合索引时,复合索引列顺序对查询的性能影响
- JavaSE基本语法练习题(下)
- java程序编译命令_使用 java 命令编译运行 java 程序
- RequestDispatcher请求转发方法
- oracle使用max提升效率,小小小的问题------关于count(*) 和 max(rownum) 效率问题
- 蓝桥杯五4史丰收速算
- 从一个路由器里面接出一条网线,连接到另一个路由器
- 安装Java并配置环境,安装eclipse,在GitHub中上传代码
- Android轻松实现日期选择器、生日选择器、自定义起始时间
- 2022-2028年全球及中国红外(IR)传感器行业投资前景分析
- Datatable 列名
热门文章
- android app打开另一个app并触发按钮_Android进程调度:Low memory killer(4)修改版
- 地址后面的sessionid怎么消除_水泥地面起灰起砂不平怎么解决?
- JavaScript(一)——变量,数据类型及转换、运算符和逻辑结构
- mybatisplus逆向工程生成代码
- 高考成绩查询2021年莆田市,2021年莆田高考志愿填报系统入口
- 从Java直接输出到flume_js生成日志信息及实现java直接调用flume
- linux挂载华为存储fc,linux 挂载存储设备
- Docker Compose 网络介绍
- 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?
- 正则表达式的一些符号基础和实例解析