案例1:
演示FileInputStream类的使用(用FileInputStream的对象把文件读入到内存)
首先要在E盘新建一个文本文件,命名为test.txt,输入若干字符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public class Demo_2 {
public static void main(String[] args) {
File f= new File( "e:\\test.txt" ); //得到一个文件对象f,指向e:\\test.txt
FileInputStream fis= null ;
try {
fis= new FileInputStream(f); //因为File没有读写的能力,所以需要使用FileInputStream
byte []bytes= new byte [ 1024 ]; //定义一个字节数组,相当于缓存
int n= 0 ; //得到实际读取到的字节数
while ((n=fis.read(bytes))!=- 1 ){ //循环读取
String s= new String(bytes, 0 ,n); //把字节转成String
System.out.println(s);
}
e.printStackTrace();
} finally { //关闭文件流必须放在这里
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
|
运行程序,控制台输出test.txt中输入的字符。
案例2:
演示FileOutputStream的使用(把输入的字符串保存到文件中)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class Demo_3 {
public static void main(String[] args) {
File f= new File( "e:\\ss.txt" );
FileOutputStream fos= null ; //字节输出流
try {
fos= new FileOutputStream(f);
String s= "你好,疯子!\r\n" ; //\r\n为了实现换行保存
String s2= "24个比利" ;
fos.write(s.getBytes());
fos.write(s2.getBytes());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
|
打开E盘名为ss.txt的文本文档,存在输入的字符。
案例3:图片拷贝
首先在E盘准备一张图片,命名为a.jpg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public class Demo_4 {
public static void main(String[] args) {
//思路 先把图片读入到内存,再写入到某个文件
//因为图片是二进制文件,只能用字节流完成
FileInputStream fis= null ; //输入流
FileOutputStream fos= null ; //输出流
try {
fis= new FileInputStream( "e:\\a.jpg" );
fos= new FileOutputStream( "d:\\a.jpg" );
byte []bytes= new byte [ 1024 ];
int n= 0 ; //记录实际读取到的字节数
while ((n=fis.read(bytes))!=- 1 ){ //read函数返回读入缓冲区的字节总数
fos.write(bytes); //输出到指定文件
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
|
打开D盘,点击a.jpg,图片正常显示即运行成功。
以上这篇Java文件(io)编程_文件字节流的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/cxq1126/archive/2017/08/10/7341453.html