java_24 FileOutputStream类和FileInputStream类
1.OutputStream 和InputStream
输入和输出:1.参照物都是java程序来惨遭
2.Input输入,持久化上的数据----》内存
3.Output输出,内存---》硬盘
字节输出流:
OutputStream:
定义:流按照方向可以分为输入和输出流,字节流可以操作任何数据,字符流只能操作纯字符数据。
IO流父类:OutputStream和InputStream
IO流程序书写步骤:
1.先导包
2.进行异常处理
3.释放资源
2FileOutputStream
是OutputStream的子类
1.1文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。
1.2.创建流
public class Demo {
public static void main(String[] args) throws Exception {
/* 步骤 1创建流 子类对象 绑定数据目的
* 2 调用write() 方法
* 3 close 关闭资源
*
* */
FileOutputStream fos = new FileOutputStream("d:\\aaa.txt");
// 调用write() 方法 写一个字节
fos.write(97);
// 写字节数组
byte[] b = {65,66,67,68};
fos.write(b);
// 写字节数组的一部分
fos.write(b,1,2);
//2.3写字符串 getBytes() 字符串转字节
fos.write("hello world".getBytes());
//关闭资源
fos.close();
}
}
文件的换行和续写,即每次刷新程序,都会在原有的基础上重新添加数据
public class Demo {
public static void main(String[] args) throws Exception {
/*
* 换行和续写
*/
File file = new File("d:\\b.txt");
FileOutputStream fos = new FileOutputStream(file,true);
fos.write("hello\r\n".getBytes());
fos.write("world\\r\n".getBytes());
//关闭流
fos.close();
}
}
3FileInputStream流
是InputStream的子类
2.1FileInputStream 从文件系统中的某个文件中获得输入字节。
2.2创建流
字符读取(读取速度慢)
public class Demo {
public static void main(String[] args){
// 1创建字节输入流的子类对象
//2 调用方法读取 read
//3 关闭资源
try {
FileInputStream fis = new FileInputStream("d:\\aaa.txt");
int len = 0;
while((len=fis.read())!=-1) {
System.out.print((char)len);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
字节数组读取(读取速度快)
public class Demo {
public static void main(String[] args){
// 1创建字节输入流的子类对象
//2 调用方法读取 read
//3 关闭资源
try {
FileInputStream fis = new FileInputStream("d:\\aaa.txt");
//创建字节数组
byte[] b = new byte[1024];
int len = 0;
while((len = fis.read(b))!=-1) {
System.out.println(new String(b,0,len));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java_24 FileOutputStream类和FileInputStream类的更多相关文章
- 字节流, FileOutputStream类,FileInputStream类,复制文件,字符流
字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节 基本方法: 子类可继承调用以上方法 FileOutputStream类 构造方 ...
- FileInputStream 类与 FileReader 类的区别
FileInputStream 类与 FileReader 类的区别: 两个类的构造函数的形式和参数都是相同的,参数为 File 对象或者表示路径的 String ,它们到底有何区别呢? FileIn ...
- java----FileInputStream类与FileReader类的区别(转)
FileInputStream类与FileReader类的区别:两个类的构造函数的形式和参数都是相同的,参数为File对象或者表示路径的String,它们到底有何区别呢? Readers and W ...
- 字节流与字符流(FileInputStream类和FileOutputStream类)
FileInputStream类和FileOutputStream类中,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流.例如: FileInputSte ...
- FileInputStream类与FileOutputStream类
FileInputStream类是InputStream类的子类.他实现了文件的读取,是文件字节输入流.该类适用于比较简单的文件读取,其所有方法都是从InputStream类继承并重写的.创建文件字节 ...
- FileInputStream与FileOutputStream类 Reader类和Writer类 解析
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...
- FileInputStream类
FileInputStream和FileOutPutStream类都是用来操作磁盘文件的.如果用户对文件读取需求比较简单,则可以使用FileInputStream类,该类继承InputStream类 ...
- 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍
数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...
- [转]探究java IO之FileInputStream类
使用FileInputStream类创建的InputStream对象可以用于从文件读取内容.两个常用的构造函数如下所示: ? 1 2 FileInputStream(String filePath) ...
随机推荐
- 使用golang 编写postgresql 扩展
postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我 ...
- Amundsen — Lyft’s data discovery & metadata engine
转自:https://eng.lyft.com/amundsen-lyfts-data-discovery-metadata-engine-62d27254fbb9 In order to incre ...
- Lock的lockInterruptibly()方法
lockInterruptibly()方法能够中断等待获取锁的线程.当两个线程同时通过lock.lockInterruptibly()获取某个锁时,假若此时线程A获取到了锁,而线程B只有等待,那么对线 ...
- docker 进程监控 Dumb-Init进程信号处理 --转自https://blog.csdn.net/tiger435/article/details/54971929
随着docker及Kubernetes技术发展的越来越成熟稳定,越来越多的公司开始将docker用于生产环境的部署,相比起物理机上直接部署,多了一层docker容器的环境,这就带来一个问题:进程信号接 ...
- Markdown语法说明(转)
Markdown语法说明(转) Markdown创始人John Gruber的语法说明 附上本文链接 NOTE: This is Simplelified Chinese Edition Docume ...
- Response的Content-Type一览
文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .* application/octet-stream .tif image/t ...
- Scrapy学习篇(十一)之设置随机User-Agent
大多数情况下,网站都会根据我们的请求头信息来区分你是不是一个爬虫程序,如果一旦识别出这是一个爬虫程序,很容易就会拒绝我们的请求,因此我们需要给我们的爬虫手动添加请求头信息,来模拟浏览器的行为,但是当我 ...
- linux查看用户登录,操作历史等
who 命令:显示当前当登录的用户的信息 who -b命令:显示系统最近一次的启动时间 w 命令:显示登录的用户及其当前执行的任务 last 命令:显示当前与过去登录系统的用户的信息 lastb 命令 ...
- [UE4]VR角色形象:Lock to Hmd、Use Pawn Control Rotation
Camera组件是自动跟着头显一起移动的,所以只要给Camera的子控件添加一个Static Mesh或者Skeletal Mesh并选择合适的模型就可以了. 要记得勾选Lock to Hmd(锁定到 ...
- 在pycharm_2018.2版本中开启Flask的debug的方法 (不要用命令:python **.py启动)
断点后,先ctl+c关闭控制台程序,再点击debuger调试 问题描述:在pycharm_2018.2版本中,我明确开启了debug,代码如下所示: from flask import Flask a ...