1.OutputStream 和InputStream

  输入和输出:1.参照物都是java程序来惨遭

        2.Input输入,持久化上的数据----》内存

        3.Output输出,内存---》硬盘

  字节输出流:

    OutputStream:

      定义:流按照方向可以分为输入和输出流,字节流可以操作任何数据,字符流只能操作纯字符数据。

      IO流父类:OutputStream和InputStream

  IO流程序书写步骤:

       1.先导包

       2.进行异常处理

       3.释放资源

2FileOutputStream

  是OutputStream的子类

  1.1文件输出流是用于将数据写入 FileFileDescriptor 的输出流。

  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();
}
}
}

最新文章

  1. Java - 网络编程
  2. 不可变字符串NSString
  3. java中jdk和jre的区别
  4. svn服务器搭建与使用
  5. Flask的socket.error:10053
  6. WPF 编辑状态切换
  7. spring mvc3的注解@ResponseBody 自动返回jason
  8. 再谈 X-UA-Compatible 兼容模式
  9. PhpStorm 配置Xdebug
  10. java 枚举 类 enum
  11. Error: no `server' JVM at...解决办法 【转】
  12. 使用json-lib进行Java和JSON之间的转换【转载】
  13. java学习笔记-继承中super关键字
  14. SIM9001GSM模块教程
  15. 使用File、Path和Directory进行常见的操作
  16. Spring获取bean的步骤
  17. Java课程2019年3月开学测试
  18. anaconda查看删除增加镜像源
  19. np.eye()
  20. systemctl start nginx timeout

热门文章

  1. js中常见事件
  2. w7安装双系统
  3. docker入门 什么是docker? 为什么使用docker?
  4. Linux安装rz/sz,htop插件
  5. Activiti的25张表
  6. java的String的乱码浅析
  7. python-web自动化-三种等待方式
  8. leetcode104
  9. Python正则替换字符串函数re.sub用法示例(1)
  10. Java 就业班 Web框架