IO FileInputStream 输入字节流类(读文件) FileOutputStream 输出字节流(写文件) 复制文件

类 FileInputStream 从文件系统中的某个文件中获得输入字节

类 FileOutputStream

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

 

 

 1 package io;
 2 
 3 import java.io.File;
 4 import java.io.FileOutputStream;
 5 /*
 6  * * FileOutputStream(File file) 
 7           创建一个向指定 File 对象表示的文件中写入数据的文件输出流
 8    write(byte[] b, int off, int len) 
 9           将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
10           
11  * write(int b) 
12           将指定字节写入此文件输出流。
13  */
14 public class FileOutputStreamDemo1 {
15     public static void main(String[] args) throws Exception {
16         //FileOutputStream fos = new FileOutputStream("names.txt");
17         //1.创建输出流对象
18         File file = new File("names.txt");
19         //FileOutputStream fos = new FileOutputStream(file,true);//在原来的数据上追加
20         FileOutputStream fos = new FileOutputStream(file);//会抹去原来的数据
21         //2.通过输出流独享的方法写入到文件中
22         byte[] buf = {97,98,5,25,23};
23         fos.write(buf,1,2);
24         //3.释放资源
25         fos.close();    
26     }
27 }
FileOutputStream

 

2.类 FileInputStream 从文件系统中的某个文件中获得输入字节

 

 1 package io;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 
 6 public class FileInputStreamDemo1 {
 7 
 8     public static void main(String[] args) throws Exception {
 9         // 创建字节输入流对象
10         FileInputStream fis = new FileInputStream("names.txt");
11         
12         // 使用流对象的方法读取数据
13 //        int i = fis.read();
14 //        System.out.println((char) i);
15 //        i = fis.read();
16 //        System.out.println((char) i);
17 //        i = fis.read();
18 //        System.out.println((char) i);
19 //        i = fis.read();
20 //        System.out.println((char) i);
21 //        i = fis.read();
22 //        System.out.println((char) i);
23         
24         
25         //一次读取一个字节的方式
26         int i = 0;
27         while((i = fis.read()) != -1){
28             System.out.print((char)i);
29         }
30         
31         //一次读取一个字节数组
32         byte[] buf = new byte[1024];//缓冲区
33         int len = 0;
34         while((len = fis.read(buf)) != -1){
35             String s = new String(buf,0,len);
36             System.out.print(s);
37         }
38 
39         // 释放资源
40         fis.close();
41 
42     }
43 }
FileInputStream

read(byte[] b, int off, int len)
从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。

返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1

byte[] getBytes()
          使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

 

 

3.复制文件

 

posted @ 2018-02-07 14:10  star521  阅读(253)  评论(0编辑  收藏  举报