千锋马海超
千锋学习的31天今天学习异常
三、流的分类,对于fileinputStream来说。从方向上来分,他时_(输入)流,从数据单位上分,它是(字节)流,从功能上分它是_(节点)_流
四、(字节流)fileinprtstream有三个重载read方法,其中:
1 无参的read方法返回值为_(int)类型,表示(从这个输入流读取一个字节的数据);
2 int read(byte[] bs)方法返回值表示_(byte数据数组),参数表示__(读取文件存在一个临时数组中)
3 int read(byte[] bs,int offset,int len)方法返回值表示(byte数据数组)参数分别表示_(存入数组的下标),(下标长度)
五(字节流)下面关于fileinputStream类型说法正确的是:(AC)
A 创建FileinputStream 对象时,为了读取硬盘上的文件
B 创建fileinputStream,对象时,如果硬盘上对应的文件不存在,则抛出一个异常
C 利用fileinputStream 对象可以创建文件
D FileInputStream 对象读取文件是,只能读取文本文件
六(字节流)填空
1创建fileoutputStream对象时,如果对应的文件在硬盘上不存在,怎会_(创建一个文件);如果对应的文件在硬盘上已存在,则(追加,或覆盖)_
2如果使用FileOutputStream(String path,boolean append)构造方法创建FileoutputStream对象,并给定第二个参数为true 则效果为_(输出文件追加数据),创建fileoutputStream是(会)_会|不会产生异常
七代码改错
class TestFileinputStream{
public static void main(String[] args){ throws IOException
FileInputStream fin=new FileInputStream(“Test.txt”); //加异常声明
try{
System.out.println(fin.read());
fin.close();
}catch(Exception e){
}
}
}
八(字节流)利用FileInputStream和FileOutputStream,完成下面的要求
1 用fileoutputStream 在当前目录下创建一个文件“text”,并想文件输出Hello World,如果文件已存在,则在原文件内容后面追加
2 用fileinputStream读入text文件,并在控制台上打印出Test.txt 中的内容
3要求用try-catch-finally处理异常,并且关闭流放在finally快中
public class TestFileinputStream{
public static void main(String[] args) throws IOException {
FileOutputStream fos=new FileOutputStream("Test.txt");
FileInputStream fin=new FileInputStream("Test.txt");
try {
byte[] b=new byte[]{'H','e','l','l','o',' ','W','o','r','l','d'};
fos.write(b);
for(int i=0;i<b.length;i++) {
int n=fin.read();
System.out.print((char)n);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
fos.close();
fin.close();
}
}
}
十三(对象序列化)
为了让某个对象能够被序列化要求实现_(Serializable)接口
为了让该对象某个属性不参与序列化,应当使用transient_修饰符
十五(对象序列化)
在printWrite中有一个方法print(Object obj)
在ObjectOutputStream 中,有一个方法WriteObject(Object obj)
请简述这两个方法的区别
1一个 PrintStream添加功能到另一个输出流,即打印各种数据值表示的功能。
2一个对象写入原始数据类型和java对象图的一个输出流。对象可以读取(重组)用ObjectInputStream。通过使用流的文件,可以实现对对象的持久存储。如果流是一个网络套接字流,对象可以被重新在另一个主机上或在另一个进程中。
十六(对象序列化)有以下代码
import java.io.*;
class Address{
private String addressName;
private Strng zipCode;
//构造方法
//get/set方法…
}
class Worker implements Serializable{
private String name;
private int age;
private Address address;
//构造方法
//get/set/方法
}
public class TestSerializable{
public static void main(String[] args)throws Exception{
Address addr=new Address(“北京”,”100000”);
Worker w=new Worker(“tom”,18,addr);
OutputStream os= new FileOutputStream(“fout.dat”);
ObjectOutputStream oout=new ObjectOutputStream(os);
oout.writeObject(w);
oout.close();
}
}
请选择正确答案(B)
A 该程序编译出错
B 编译正常,运行时异常
C 编译正常,运行时也正常
来源:CSDN
作者:m557886
链接:https://blog.csdn.net/m557886/article/details/104909294