1、
创建一个新的文件 | 清除源文件的内容 |
以追加的方式写入文件 | 会 |
2、
输入 | 字节 | jiedian |
1)
int | 从流中读取的数据字节 |
2)
读入缓冲区的字符数,没有数据则返回-1 | 存取读取数据的缓冲区 |
3)
读入缓冲区的字符数,没有数据则返回-1; b:存取读取数据的缓冲区;off:set目标数组b中开始位置;len:读取的字节数 |
3、
答案:AB
A:即FileInputStream主要是负责完成对本地磁盘文件的顺序输入与输出的操作的流
B:会抛出FileNotFoundException
4、
代码如下:
package org.jsoft.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
File f=new File("C://test.txt");
FileOutputStream ou=null;
FileInputStream in=null;
try {
ou=new FileOutputStream(f,true);//true表示追加
in=new FileInputStream(f);
String str="Hello World";//定义一个字符串保存内容
ou.write(str.getBytes());//写出内容
int l;//创建变量l用来保存读入的数据
byte[] b=new byte[1024];//创建一个数组
while((l=in.read(b))!=-1){//将数据读入到b数组当中并判断
String str1=new String(b,0,100);//接收从0 开始长度最大到100的数据(100可变)
System.out.println(str1);//输出
// in.read(b);这是在后台输出文件中的内容 的另一种写法
// for(int i=0;i<b.length;i++){
// System.out.print((char)b[i]);
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
ou.close();//关闭流
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
运行结果:
4、利用io ,完成 文件的复制功能 (例如,d盘有个 a文件,里面有26个字母,然后给我复制到 b文件里)
代码如下:
package org.jsoft.zuoyea;
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 Test {
public static void main(String[] args) {
File f1= new File("D://a.txt");
File f2 = new File("D://b.txt");
if(f2.exists()){
System.out.println("该文件存在");
}else{
try {
f2.createNewFile();//如果该文件不存在则创建b.txt
} catch (IOException e) {
e.printStackTrace();
}
}
InputStream in= null;
InputStream ins= null;
OutputStream ou = null;
int i;//定义一个变量用来保存读取出来的数据
try {
in = new FileInputStream(f1);
ou = new FileOutputStream(f2);
ins= new FileInputStream(f2);
while(( i= in.read()) != -1){//判断a.txt里面有没有数据
ou.write(i);//则将该数据写入b.txt
System.out.println("b.txt中此时的内容为:"+ins.read());//控制台输出查看是否成功
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
} finally{
try{
in.close();//关闭流
ou.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
运行结果: