java 夏丽昀

创建FileOutputStream对象时, 如果对应的文件在硬盘上不存在,则会(自动创建 ); 如果对应的文件在硬盘上已经存在,则(覆盖);如果使用FileOutputStream(String path,boolean append)这个构造方法创建FileOutputStream对象,并给定第二个参数为true,则效果为(可以添加参数)

创建FileOutputStream时(不会)产生异常 (流的分类)对于FileInputStream来说,从方向上来分,它是(输入)流,从数据单位上分,它是(字节)流,从功能上分,它是(轻级流)(字节流,FileInputStream)

FileInputStream有三个重载的read方法,其中1)无参的read方法返回值为(int)类型,表示(下一个数据字节;如果已到达文件未尾,则返回-1)

2)int read (byte[]bs)方法返回值表示(读入缓冲区的字节总数,如果因为已经到达文件未尾而没有更多 数据,则返回-1),参数表示(存储读取数据的缓冲区)

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

} }

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

} }

转载于:https://my.oschina.net/u/3715015/blog/1584126

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值