建立FileOutputStream对象时, 若是对应的文件在硬盘上不存在,则会(自动建立 ); 若是对应的文件在硬盘上已经存在,则(覆盖);若是使用FileOutputStream(String path,boolean append)这个构造方法建立FileOutputStream对象,并给定第二个参数为true,则效果为(能够添加参数)java
建立FileOutputStream时(不会)产生异常 (流的分类)对于FileInputStream来讲,从方向上来分,它是(输入)流,从数据单位上分,它是(字节)流,从功能上分,它是(轻级流)(字节流,FileInputStream)数组
FileInputStream有三个重载的read方法,其中1)无参的read方法返回值为(int)类型,表示(下一个数据字节;若是已到达文件未尾,则返回-1)app
2)int read (byte[]bs)方法返回值表示(读入缓冲区的字节总数,若是由于已经到达文件未尾而没有更多 数据,则返回-1),参数表示(存储读取数据的缓冲区)code
3)int read (byte [] bs,int offset,int len)方法返回值表示(读入缓冲区的字节总数,若是由于已经到达文件未尾而没有更多的数据,则返回-1),参数分别表示(b:存储读取数据的缓冲区 off:目标数组 b中的起始偏移量,len读取的最大字节数)对象
(FileInputStream)下面关于FileInputStream 类型说法正确的是:a A. 建立FileInputStream 对象是为了读取硬盘上的文 B. 建立FileInputStream 对象时,若是硬盘上对应的文件不存在,则抛出一个异常 C. 利用FileInputStream 对象能够建立文件 D. FileInputStream 对象读取文件时,只能读取文本文件。资源
复制一个文档到别一个文档中 package org.jsoft.zouye;作用域
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.io.InputStream; public class Copy { public static void main(String[] args) { File f=new File("f:"+File.separator+"creat.txt");//写入一个要粘贴的文档 File f1=new File ("f:"+File.separator+"copy.txt");//写入一个要被复制的新文档文档
OutputStream so1=null;/写出 OutputStream so=null;//写出 InputStream in=null;//写入 try { so=new FileOutputStream(f1); in=new FileInputStream(f1); for(int i=97;i<124;i++){//要被复制文档中的内容 so.write(i);
} so1=new FileOutputStream(f);//要加入内容的文档 byte[ ]b1=new byte[(byte) f1.length()];//建立一个数组存入f1中的元素 in.read(b1);//读取f1中的内容,并放入b1中字符串
for(int i=0;i<b1.length;i++){ so1.write(b1[i]);//依次把b1中的元素存入新的文档 } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { so.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
} }get
package org.jsoft.zouye;
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;
public class TestOutAdd { public static void main(String[] args) { File f=new File("f:"+File.separator+"test.txt");//建立一个test文档 OutputStream os=null;//扩大做用域 InputStream is=null; try { os=new FileOutputStream(f,true);//建立一个新的输出流,f表明要定入的文档,true表示 is=new FileInputStream(f);//读取文件 //若是存在则将字节定入文件未尾处 String s="hello,world";//要写入的字符串 byte b[]=s.getBytes();//将字符串转换成byte os.write(b);//写入b byte b1[]=new byte[200];//定义一个新的数组 int in=is.read(b1);//读取b1中的元素 String str=new String (b1,0,50);//在b1文档从0到200 System.out.println(str);//输出文档中的元素
} catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{//释放资源 try { os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
} }