java IO流
来源:互联网 发布:超级马里奥知乎 编辑:程序博客网 时间:2024/06/06 00:34
大多数应用程序都是需要实现与设备之间的数据传输,下面我来介绍一下 IO流
IO就是用来数据读取数据的
在JDK中,提供了两个抽象类 InputStream 和 OutputStream ,它们是字节流的顶级父类,所有的字节输入流都继承自InputStream 和 OutputStream 。
为了方便理解 ,可以把InputStream 和 OutputStream 比作两个水管
下面就是代码
1
//输入流 是文件(数据源到程序)
2
// FileInputStream流的例子
3
FileInputStream in = new FileInputStream("C:/Users/YacaToy/Desktop/mission.txt");
4
int b = 0;
5
while (true) {
6
b = in.read(); //.read() 从输入流读取一个8个字节,把他转换为0~255之间的整数
7
if(b ==-1){ //如果取完了会返回 -1 也就不需要取了
8
break;
9
}
10
System.out.println(b);
11
}
12
in.close(); //记得.close() 把流关闭,否则内存会溢出
1
2
// 输出流 程序输出到文件
3
4
//FileOutputStream流的例子
5
FileOutputStream out = new FileOutputStream("C:/Users/YacaToy/Desktop/fileOut1.txt");
6
String str = "我是一个例子";
7
byte[] b = str.getBytes();
8
for (int i = 0 ; i <b.length ; i++){
9
out.write(b[i]);
10
}
11
out.close();
这样就把读和写 的功能写出来了
下面来说说联合使用
1
// 字节输出流流的配合使用
2
//输入流,从数据源输出到程序中
3
FileInputStream in = new FileInputStream("C:/Users/YacaToy/Desktop/mission.txt");
4
//输出流,从程序中输出到文件中去
5
FileOutputStream out = new FileOutputStream("C:/Users/YacaToy/Desktop/mission2.txt");
6
int len;
7
//在取出完文件的时候 会返回-1
8
while((len = in.read()) !=-1){
9
out.write(len);
10
}
11
in.close();
12
out.close();
你会发现这不是就是数据的拷贝吗。一边读一边取
1
//加了缓冲区
2
FileInputStream in = new FileInputStream("C:/Users/YacaToy/Desktop/mission.txt");
3
FileOutputStream out = new FileOutputStream("C:/Users/YacaToy/Desktop/missio3.txt");
4
byte[] buff = new byte[1024];
5
int len ;
6
while ((len = in.read(buff)) != -1){
7
out.write(buff,0,len);
8
}
9
in.close();
10
out.close();
下面就是字符流
其实用法和字节流差不多
直接代码把
1
//字符流的输入
2
FileReader reader = new FileReader("C:/Users/YacaToy/Desktop/mission.txt");
3
int ch ;
4
while ((ch = reader.read()) != -1){
5
System.out.println((char)ch);
6
}
7
reader.close();
1
//字符流的输出
2
FileWriter writer = new FileWriter("C:/Users/YacaToy/Desktop/mission5.txt");
3
String str = "我是一个例子";
4
writer.write(str);
5
writer.close();
1
//字符的输出和输入一起使用
2
FileReader reader = new FileReader("C:/Users/YacaToy/Desktop/mission.txt");
3
FileWriter writer = new FileWriter("C:/Users/YacaToy/Desktop/mission6.txt");
4
int ch ;
5
while ((ch = reader.read()) != -1){
6
writer.write(ch);
7
}
8
reader.close();
9
writer.close();
阅读全文
0 0
- JAVA【IO一】IO流
- Java-IO-java的IO流
- java IO 流
- JAVA之IO流
- java IO(字符流)
- java的io流
- JAVA之IO流(
- JAVA 基础IO流
- JAVA 中的IO流
- Java IO 流学习
- JAVA 中的IO流
- Java IO流操作方法。。
- java io流总结
- 转]JAVA IO流
- JAVA IO流
- Java中的IO流
- JAVA IO 流操作
- 详述JAVA IO流
- Golang Concurrency Tricks
- qt学习资料
- Java语言高编——面向对象-多态
- 安装Scrapy时报错Failed building wheel for Twisted
- webpack+react+ES6 配置安装
- java IO流
- Hadoop教程
- 使用jquery简单实现腾讯地图的地址搜索定位功能
- IPTV视频传输质量测试标准-RFC4445 MDI (Media Delivery Index)媒体传输质量指标详解
- 关于相机传感器和镜头的关系
- ios 导航栏状态栏设置
- MATLAB生成exe脱离matlab运行可执行程序
- mui框架中switch开关通过js控制开或者关状态时小圆点不动问题
- Spring Boot中@OneToMany与@ManyToOne几个需要注意的问题