练习13 Java类IO流练习题

合集下载

java io填空题

java io填空题

java io填空题
好的,以下是一些Java IO相关的填空题:
1. Java IO流可以分为____流和____流。

2. 文件字节流主要使用____类和____类。

3. 文件字符流主要使用____类和____类。

4. 在Java IO中,用于读取文件的类是____,用于写入文件的类是____。

5. 在Java IO中,用于读取字符的类是____,用于写入字符的类是____。

6. 在Java IO中,用于读取字节的类是____,用于写入字节的类是____。

7. 在Java IO中,用于读取字符并自动转换为字节的类是____,用于写入字节并自动转换为字符的类是____。

8. Java IO中,____方法可以判断文件是否可读。

9. Java IO中,____方法可以判断文件是否可写。

10. Java IO中,____方法可以判断文件是否可执行。

java基础IO流综合加习题

java基础IO流综合加习题

java基础IO流综合加习题1. IO流初学者在学习时都有⼀点迷糊,今天我们就讲讲IO流,希望通过讲解可以帮助⼤家2. IO流分为字节流,字符流,缓冲流.我们只要记住这三个就可以了. 1*字节流有:字节输⼊流(FileInputStream),字节输出流(FileOutputStream). 2*字符流有:字符输⼊流(FileReader),当让也有字符输出流(FileWriter); 字节流>>字节输⼊流,⽆⾮就是读取⽂件,初学者可以这么认为,把⽂档的读取出来放在缓冲区⾥(假设有这个缓冲区) >>字节输出流,也就是从这个假设的缓冲区⾥把读取出来 字符流>>也是⼀个道理.不过字符流只可以操作纯⽂本⽂件,他被开发出来就是⽤来操作⽂本⽂件的,什么是纯⽂本⽂件呢?? 纯⽂本⽂件也就是可以⽤记事本打开的⽂件. 后期,我们⽤到字符流的地⽅,⽆⾮就是操作这些纯⽂本⽂件,读取⽂件类容,在控制台打印啊,或者⼿写⼀个字符串录⼊到⽂档中等; ⼀:通过习题我们来认识字节流: 今天就和⼤家分享⼀下字节流拷贝⽂件.将会⽤上java基础阶段字节流的所有⽅法 /* *键盘输⼊⼀个⽂件夹地址,将其中的⽂件拷贝到另⼀个⽂件夹下.只拷贝.java⽂件 *分析:1.拿到这个题,我们还是⼤问题变成⼩问题解决 * (1)键盘输⼊>>>要判断是否是⼀个正确的⽂件夹路径>>我们可以把输⼊的字符串封装到File中⽤exists()判断是否存在返回值boolean类型 * (2)拿到正确的⽂件夹地址.我们开始选择⽤什么流拷贝呢,刚才我也说了字符流适合操作纯⽂本⽂件,所以我们遇到⾮纯⽂本的适合直接选择字节流 * (2_1)有⼈会问,那缓冲流呢??别急,其实缓冲流是服务字节流,字符流的,你可以认为他就⼀个8缸的汽车发动机,让汽车变飞机的快感,说道这⾥你也应该明⽩ * 缓冲流是⼲嘛的吧,也就是在字节字符流读取写⼊⽂件的时候速度加快⽤的,其实底层是⼀个缓冲区,8*1024个字节. * (3)拷贝⽂件夹的时候,⽂件夹中不可能只有⽂件也有⼦⽂件夹,我们这⾥要⽤到递归,天哪,好⿇烦啊,⼀会我们做代码你会发现,其实也就那样 * (4)那⽂件夹中⼜有⽂件夹⼜有⽂件,那我们怎么分辨呢? File给我提供了判断的⽅法:isFile()判断⽂件.isDirectory()判断⽂件夹 * (5)那获取到他们要讲他们先放在那⾥呢?把这些⽂件夹和⽂件放在数组⾥?可是没有这个⽅法啊,这个File给我提供了专门的数组File[] */ 来吧>开始做题 第⼀步:键盘输⼊>>>要判断是否是⼀个正确的⽂件夹路径private static File getScanner() { //键盘输⼊Scanner sc = new Scanner(System.in);System.out.println("请输⼊⽂件夹的路径:");while(true){String string = sc.nextLine(); //封装键盘输⼊的⽂件地址File file = new File(string); //判断⽂件夹地址是否存在if(!file.exists()){System.out.println("你输⼊的⽂件路径不存在,请重新输⼊:"); //判断是否为⽂件地址}else if(file.isFile()){System.out.println("你输⼊的是⽂件,不是⽂件夹,请重新输⼊:");}else{ //最后返回⽂件夹地址return file;}}} 第⼆步:拷贝private static void copy(File src, File dest) throws IOException {//拿到刚才输⼊的两个⽂件夹地址源⽂件地址为src 要接收的⽂件夹的地址为dest//把源⽂件夹中的⽂件,字⽂件夹存放到File数组中src.listFiles();⽅法获取File[] files = src.listFiles();//判断数组是否为空if(files!=null){//遍历数组for (File file : files) {//如果是⽂件并且以java结尾 geName()是拿到⽂件夹或者⽂件的名字字符串if(file.isFile() && file.getName().endsWith(".java")){//符合条件的复制//缓冲流来了啊记得加速的后⾯跟上我们的字节流,别装上了发动机不要车了啊//字节输⼊流对于初学者来说:可以认为读取⽂件到缓冲区BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));//字节输出流把缓冲区的内容拿出来给另外⼀个对象这⾥我们讲⼀下为什么在new File(这⾥存放的是⽂件地址) // 要接收的⽂件夹的地址为dest 加上⽂件的地址// E:\\dest \\xxx.java 拼接成⼀个完整的⽂件地址BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(dest,file.getName())));//这⾥建⼀个字节数组其实也是让⽂件拷贝的更加快⼀点byte[] by = new byte[1024*8];//索引拷贝结束了,没有了数组就返回-1;int len=0;while((len=bis.read(by))!=-1){//往⾥⾯写bos.write(by, 0, len);}//关流bos.close();bis.close();}else if(file.isDirectory()){//建⽴⼀个remove()⽅法判读⽂件夹中可包含java⽂件不包含⽂件夹不复制过来if(remove(file)){File newfile = new File(dest,file.getName());if(!newfile.exists()){//建⽴⽂件夹⽂件夹中的⽂件夹newfile.mkdirs();}copy(file, newfile);}}}}}private static boolean remove(File file) {File[] files = file.listFiles();//先判断⽂件夹是否为空为空返回falseif(files!=null){for (File file2 : files) {//底层⽂件夹中含有符合条件的⽂件返回trueif(file2.isFile() && file2.getName().endsWith(".java")){return true;//判断是否是⽂件夹 //底层是否有java⽂件}else if(file2.isDirectory() && remove(file2)){return true;}}}return false;}上⾯的代码可能⼀时理解起来⽐较难消化,时间原因,下次我更新⼀个⽐较详细的第三步main()⽅法public static void main(String[] args) throws IOException {File src = getScanner();File dest = getScanner();copy(src,dest);}字符流>>题⽬/** ⽂档中第⼀⾏与最后⼀⾏交换* 第⼆⾏与倒数第⼆⾏交换**/public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new FileReader("abc\\b.txt"));BufferedWriter bw = new BufferedWriter(new FileWriter("abc\\c.txt"));ArrayList<String> list = new ArrayList<>(); //字节流我们说了⽤len!=-1做索引 //⽂档有⼀个⽅法可以⼀⾏⼀⾏的读取,当然可以想在字节流那样读取String line=null;while((line=br.readLine())!=null){list.add(line);}br.close();//换⽂档中第⼀⾏与最后⼀⾏交换for (int i = 0; i<list.size()/2 ;i++) {String string = list.get(i); //只需要交换集合长度/2次list.set(i, list.get(list.size()-1-i));list.set(list.size()-1-i, string);}//遍历并且把字符串写到⽂件中for (String string : list) {bw.write(string);bw.newLine();} //关流bw.close();}今天就说这么多了,回头看我⾃⼰写的........我发初学IO的应该不知道我在说啥.下次⼀定来⼀个详细的,说真的IO流要细说,有的说的,不过⼤家记住IO在初级阶段⽆⾮就是操作⽂件夹⽂件,拷贝删除,写,读.字符流只读只写拷贝⾃⼰流,不要忘记缓冲流这个加速器.谢谢⼤家。

IO流_练习&面试题

IO流_练习&面试题
System.out.println(&quot;FileStreamsTest:&quot;+e);
}catch(IOException e){
System.out.println(&quot;FileStreamTest&quot;+e);
}
}
}
-----------------------------------------------------
A 位
B 字节
C 字符
D 文件
4.▁▁文件流类的 close 方法可用于关闭文件。
A FileOutputStream
B FileInputStream
C RandomAccessFile
D FileWrite
5.RandomAccessFile 类的▁▁方法可用于从指定流上读取整数。
对应于系统调用System.in和System.out。这样的两个流加上System.err统称为标准流,它们是在System类中声明putStream in
publicstaticPrintStream out
public static PrintStream err
java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
答:字节流,字符流。
字节流继承于InputStream OutputStream,
字符流继承于Reader Writer。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。
public static void main(String[] args){

黑马Java-IO知识测试附答案

黑马Java-IO知识测试附答案

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. 和是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A.B. InputStreamReaderC.D. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

(完整版)IO流题目

(完整版)IO流题目

狂翔IT工作室IO流章节题目一.选择题1.java语言提供处理不同类型流的类的包是(D)a)java.sql b) java.util c) java.math d) java.io2.不属于java.io包中的接口的一项是(c)a)DataInput b) DataOutput c) DataInputStream d) ObjectInput3.java.io包中提供的用于筛选文件名的接口是(d)a)DataInput b) DataOutputStream c)RandomAccessFile d) FileNameFilter4.下列中,哪一个是filterInputStream类构造方法的有效参数ca)无参数b)OutputStream对象c) InputStream对象d)RandomAccessFile对象5. ByteArrayOutputStream将下列哪一项作为输出流 ca) 字符b)字节c)字节数组D)对象6. 下列流中哪一个使用了缓冲区技术AA.BuffereOutputStream B. FileInputStreamC. DataOutputStreamD.FileReader7. 下列哪个包中含有压缩文件输入流ZipInputStream类BA.java.ioB. java.util.zipC.java.util.jarD.java.awt8. 要在磁盘上创建一个文件,可以使用哪些类的实例A.FileB.FileOutputStreamC.RandomAccessFileD.以上都对9.下列字节输入流中,哪一个不能够被实例化BA.FileInputStreamB.FilterInputStreamC.ByteArrayInputStreamD.ObjectInputStream10. 能对读入字节数据进行java基本数据类型判断过滤的类是(C)A. PrintStreamB.DataOutputStreamC.DataInputStreamD.BuffereInputStream11. 使用下列哪一个类可以实现在文件的任意一个位置读写一个记录A.RandomAccessFileB.FileReaderC.FileWriterD.FileInputStream12.通常情况下,下列哪一个类的对象可以作为BufferedReader类的构造函数的参数A.InputStreamReaderB.PrintStreamC.OutputStreamReaderD.PrintWriter13. 若要创建一个新的含有父目录的目录,应该使用下列哪一个类的实例A.RandomAccessFileB.FileOutputStreamC.FileD.以上都对14. 流的概念是由以下哪个语言最先引的A.CB.C++C.JavaD.Basic15. 下列哪一个不属于计算机常用的外部设备A.显示器B.网络C.内存D.键盘16. 与InputStream流相对应的Java系统的标准输入对象是A.System.inB.System.outC.System.errD.System.exit()17. 下列File类的方法中,哪一个用于返回文件的相对的文件名A.getCanonicalPath()B.getAbsolutePath()C.getCanonicalFile()D.getAbsoluteFile()18. 下列哪个不属于j2sdk1.4 提供的新I/O功能A.内存映射B.文件锁定C.字符及编码D.阻塞I/O19.下列选项中,哪一个属于输出流A.从打印机流向控制器的数据流B.从键盘流向内存的数据流C.从内在流向控制器的数据流D.从内存流向网络的数据流20.FileOutputStream类的父类是()A.FileB.FileOutputC.OutputStreamD.InputStream 二.填空题1. Java的I/O流包括字节流、字符流、文件流、对象流和管道流2. 按照流的方向来分,I/O流包括输入和输出流3. 流是一个流动的数据从流向4. FileInputStream实现对磁盘文件的读取操作,在读取字符的时候,它一般与InputStreamReader 和BufferedReader 一起5. 向DataOutputStream对象dos 的当前集团处写入一个保存在变量f中的浮点数的语句是dos.writeDouble(f)6. java通过过滤流对I/O访问提供同步处理机制7. FileChannel类为磁盘文件映射入内存提供了一个通道8. 输入输出在计算机中有两个主要作用:采集数据和提供数据处理结果。

14.IO流作业

14.IO流作业

IO流作业一、填空题1.Java IO流可以分为和处理流两大类,其中前者处于IO操作的第一线,所有操作必须通过他们进行。

2.输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数据,方法给程序提供了一个从输入流中读取数据的基本方法。

3.read方法从输入流中顺序读取源中的单个字节数据,该方法返回字节值(0-255之间的一个整数),如果到达源的末尾,该方法返回。

4.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出____________________。

5.Java IO体系中,____________________是字节输入流,不仅提供了存取所有Java基础类型数据(如:int,double 等)和String的方法,也提供了提供存取对象的方法。

6.Java IO体系中,____________________是字节输出流,提供了可以存取所有Java基础类型数据(如:int,double 等)和String的方法,但没有提供存取对象的方法。

7.____________是指将Java对象转换成字节序列,从而可以保存到磁盘上,也可以在网络上传输,使得不同的计算机可以共享对象。

二、选择题1. 使用Java IO流实现对文本文件的读写过程中,需要处理下列()异常。

(选择一项)A ClassNotFoundExceptionB. IOExceptionC. SQLExceptionD. RemoteException2. 在Java的IO操作中,()方法可以用来刷新流的缓冲。

(选择两项)A void release()B. void close()C. void remove()D. void flush()3. 在Java中,下列关于读写文件的描述错误的是()。

(选择一项)A Reader类的read()方法用来从源中读取一个字符的数据B. Reader类的read(int n )方法用来从源中读取一个字符的数据C. Writer类的write(int n)方法用来向输出流写入单个字符D. Writer类的write(String str)方法用来向输出流写入一个字符串4. 阅读下列文件定入的Java代码,共有()处错误。

公司内部Javaio流笔试题

公司内部Javaio流笔试题

框架
* 类
* 流的分类
* 基本字节流
* 字节过滤流
* 基本字符流、桥转换
* 字符过滤流
* 对象序列化
练习
. (类)以下关于类说法正确的是:
.一个对象代表了操作系统中的一个文件或者文件夹
.可以使用对象创建和删除一个文件
.可以使用对象创建和删除一个文件夹
.当一个对象被垃圾回收时,系统上对应的文件或文件夹也被删除. (类)有如下代码:
{
( []){
(“”);
}
}
请选择一个正确答案:
. 文件在系统中被创建
. 在系统上运行出错,因为路径分隔符不正确
. 文件在系统中没有被创建
. 如果文件已存在,则抛出一个异常
. (类)将下列代码补充完整
{
( []) {
;
创建一个对象表示当前目录下的“”文件
判断该文件是否存在
如果该文件存在,则输出该文件的完整路径
}
}
. (流的分类)对于来说,从方向上来分,它是流,从数据单
位上分,它是流,从功能上分,它是流。

. (字节流, )有三个重载的方法,其中
) 无参的方法返回值为类型,表示
) ([] )方法返回值表示,参数表示
) ([] , , ) 方法返回值表示,参数分别表示。

. ()下面关于类型说法正确的是:
.创建对象是为了读取硬盘上的文件
.创建对象时,如果硬盘上对应的文件不存在,则抛出一个异常.利用对象可以创建文件
.对象读取文件时,只能读取文本文件。

. ()填空:
创建对象时,如果对应的文件在硬盘上不存在,则会;如
果对应的文件在硬盘上已经存在,则;。

公司内部Javaio流笔试题

公司内部Javaio流笔试题
DataOutputStream dout = new DataOutputStream(fout);
dout.writeInt(1);
dout.writeDouble(0.01);
dout.close();
}
}
问:这个程序总共往文件中写入了多少字节?
A. 2
B. 8
C. 12
D. 16
E.字节数取决于具体平台
private String name;
private transient int age;
private Address addr;
//构造方法…
//set/get方法…
public String toString(){
return name + “ ” + age + “” + addr.toString();
}
}
public class TestObjectStream{
public static void main(String args[]) throws Exception{
Address addr = new Address(“Beijing”, “100000”);
Student stu = new Student(“Tom”, 18, addr);
BufferedOutputStream写八种基本类型
DataInputStream读对象
DataOutputStream写对象
PrintWriter缓冲功能
PrintStream读入一行文本
BufferedReader写字符串并换行
BufferedWriter写字符串
14.(对象序列化)

io流java题目

io流java题目

关于I/O流的java题目描述:1: 编写程序,读取附件中的test.txt日志文件2: 用户输入服务名称,打印日志中该服务被调用了多少次如用户输入服务名queryByChannelType,则输queryByChannelType 调用XX 次.3:用户输入保存文件名称,把输出结果保存到指定文件. 如用户输入文件名exam1.txt,则把结果保存在exam1.txt文件通过标准:1.自行实现全部代码2.良好的编码风格,必要的注释;3.能成功运行,并将程序和执行结果都上传到SVN中4.程序中必须按照12章和16章的要求对异常进行了处理优秀标准1.程序设计简洁优雅,能高效率的完成工作2.除了必须的异常处理外,程序本身考虑了对各种异常情况和错误的处理考虑充分3.发挥你的想象,让这个程序更合理,更有趣。

提供更多的日志分析和输出功能。

创建一个I/O流工具类:/****/package ;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import ng.StringUtils;import mons.logging.Log;import mons.logging.LogFactory;/*** 读写流* @author panwh**/public class Filecommon {private final static Log logger = LogFactory.getLog(Filecommon.class);private final static int BUFFER = 16 * 1024;/*** 一般文本文档的字符读写流* @param serverName 服务名* @param newfile 保存新文件全路径* @param oldfile 旧文件全路径*/public static void readChar(String serverName, String newfile, String oldfile) {// 读取文件test.txtFile readfile = new File(oldfile);File writefile = new File(newfile);// 定义可扩展字符StringBuilder sb = new StringBuilder();try {// 文本文档读写流一般用字符流,这里使用缓存字符流:一次性读取文件在缓存中,一次性写入文件。

IO练习

IO练习

1. (File 类)以下关于File 类说法正确的是:ABCA.一个File 对象代表了操作系统中的一个文件或者文件夹B.可以使用File 对象创建和删除一个文件C.可以使用File 对象创建和删除一个文件夹D.当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. (File 类)有如下代码:public class TestFile{public static void main(String args[]){File file = new File(“chp13/corejava.txt”);}}请选择一个正确答案:BA. corejava.txt 文件在系统中被创建B. 在windows 系统上运行出错,因为路径分隔符不正确C. corejava.txt 文件在系统中没有被创建D. 如果corejava.txt 文件已存在,则抛出一个异常3. (File 类)将下列代码补充完整class TestMyFile{public static void main(String args[]) throws Exception{File file;//创建一个File 对象表示当前目录下的“hello.txt”文件file=new File(“hello.txt”);//判断该文件是否存在file.exists();//如果该文件存在,则输出该文件的完整路径Syso(file.getAbsolutePath());}}4. (流的分类)对于FileInputStream 来说,从方向上来分,它是____输入_____流,从数据单位上分,它是___字节___流,从功能上分,它是__基本_____流。

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

Java IO练习

Java IO练习

练习一功能要求:使用文件输入输出字节进行文件拷贝需求说明:在项目中定义一个old.txt文件,随意输入一些数据要求使用文件输入输出字节类将old.txt文件内容读取后写入new.txt文件中代码:import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class CopyFileTest1 {public static void main(String[] args) {//拷贝复制文件(先要确保有该文件)//拷贝到C:\test.txt//先读取文件FileInputStream fis = null;FileOutputStream fos = null;try {fis = new FileInputStream("D:\\IO\\old.txt");byte[] bs = new byte[1024];int len = 0;//int len = fis.read(bs);//实际读取长度lenStringBuffer stb = new StringBuffer();while ( (len = fis.read(bs)) != -1 ) {stb.append( new String(bs,0,len) );}System.out.println(stb);//读取的文件内容//将读取到的文件内容写入到新文件中fos = new FileOutputStream("D:\\IO\\new.txt");fos.write(bs,0,bs.length);//写的时候按照读取的实际长度来写System.out.println("文件拷贝成功!");} catch (IOException e) {e.printStackTrace();System.out.println("文件拷贝失败!");}finally{//5.关闭文件输出流对象if (fos != null) {try {fos.close();} catch (IOException e2) {e2.printStackTrace();}}}}}练习二功能要求:使用文件缓冲输入输出字符类进行操作需求说明:从控制台写到文件里要求使用缓冲区读取类将控制台所输入的内容写入bfw.txt文件中直到在控制台的单独一行中输入“exit”结束代码:import java.io.FileWriter;import java.io.IOException;import java.util.Scanner;public class FileWriterTest2 {public static void main(String[] args) {Scanner input = new Scanner(System.in);//1.声明FileWrite 对象FileWriter fw = null;//2.创建FileWrite 对象try {fw = new FileWriter("D:\\IO\\hello.txt",true);//3.调用写的方法,写入字符for (int i = 1; i <= 10; i++) {System.out.println("请输入你的信息内容:");String str = input.next();fw.write(str);fw.flush();//刷新缓冲区System.out.println("写入成功");System.out.println("你是否还要继续输入信息:");if (str.equals("exit")) {System.out.println("本次信息输入结束!");break;}}} catch (Exception e) {e.printStackTrace();System.out.println("写入失败!");}finally{//4.关闭对象if (fw != null) {try {fw.close();} catch (IOException e2) {e2.printStackTrace();}}}}}练习三功能要求:实现文本读取需求说明:编写一个Java应用程序,可以实现Dos中的type命令,并加上行号。

(完整版)io流课后练习题

(完整版)io流课后练习题

第十一章io流练习题一、选择题1. 以下关于File 类说法正确的是( B.C ):A: 一个File 对象代表了操作系统中的一个文件或者文件夹B: 可以使用File 对象创建和删除一个文件C: 可以使用File 对象创建和删除一个文件夹D: 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. 有如下代码,正确答案是(D ):public class TestFile{public static void main(String args[]){File file = new File(“chp13/corejava.txt”);}}A. corejava.txt 文件在系统中被创建B. 在windows 系统上运行出错,因为路径分隔符不正确C. corejava.txt 文件在系统中没有被创建D. 如果corejava.txt 文件已存在,则抛出一个异常3. 文件输出流的构造方法是public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示( B )A: 创建一个新文件B: 在原文件的尾部添加数据C: 覆盖原文件的内容D: 在原文件的指定位置添加数据4. 下面的程序段的功能是( B )File file1=new File("e:\\xxx\\yyy");file1.mkdir();A: 在当前目录下生成子目录:\xxx\yyy B: 生成目录:e:\xxx\yyyC: 在当前目录下生成文件xxx.yyy D: 以上说法都不对5.下列不是java的输入输出流的是(A.D )A: 文本流B: 字节流C: 字符流D: 文件流3.凡是从中央处理器或者是内存流向外部设备的数据流称为(C)A: 文件流B: 字符流C: 输入流D: 输出流4.下列属于文件输入输出类的是()A: FileInputStream和FileOutputStreamB: BufferInputStream和BufferOutputStreamC: PipedInputStream和PipedOutputStreamD. 以上都是5.下列叙述中,错误的是( )A: File类能够存储文件B: File类能够读写文件C: File类能够建立文件D: File类能够获取文件目录信息6.下列叙述中,正确的是( )A: Reader是一个读取字符文件的接口B: Reader是读取数据文件的抽象类C: Reader是一个读取字符文件的抽象类D: Reader是读取字节文件的一般类7.字符输出流类都是( )抽象类的子类A: FilterWriter B: FileWrite C: Writer D: OutputStreamWrite 8. 下面关于FileInputStream 类型说法正确的是():A: 创建FileInputStream 对象是为了读取硬盘上的文件B: 创建FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出异常C: 利用FileInputStream 对象可以创建文件D: 以上说法都不对二、简答题:1.简述什么是流2.简述Java IO流层次结构3.Java中的IO流桥接器类有哪些4.使用字符流的优势是什么5.简述对象的序列化与反序列化6.要想从某个文件中获得一个字符输出流,则至少有以下三种方式分别是:利用FileWriter 类、利用PrintWriter 类、利用FileOutputStream 类,并通过OutputStreamWriter 类获得Writer,请简述这三种方式获得Writer 的区别。

JavaIO流常见面试题

JavaIO流常见面试题

JavaIO流常见⾯试题JavaIO流常见⾯试题1. Java中有⼏种类型的流?1. 字符流和字节流。

2. 字节流继承inputStream和OutputStream3. 字符流继承⾃InputSteamReader和OutputStreamWriter4. 总体结构图2.字节流和字符流哪个好?怎么选择?1. ⼤多数情况下使⽤字节流会更好,因为⼤多数时候 IO 操作都是直接操作磁盘⽂件,所以这些流在传输时都是以字节的⽅式进⾏的(图⽚等都是按字节存储的)2. 如果对于操作需要通过 IO 在内存中频繁处理字符串的情况使⽤字符流会好些,因为字符流具备缓冲区,提⾼了性能3. 什么是缓冲区?有什么作⽤?1. 缓冲区就是⼀段特殊的内存区域,很多情况下当程序需要频繁地操作⼀个资源(如⽂件或数据库)则性能会很低,所以为了提升性能就可以将⼀部分数据暂时读写到缓存区,以后直接从此区域中读写数据即可,这样就显著提升了性。

2. 对于 Java 字符流的操作都是在缓冲区操作的,所以如果我们想在字符流操作中主动将缓冲区刷新到⽂件则可以使⽤ flush() ⽅法操作。

4. 字符流和字节流有什么区别?字符流和字节流的使⽤⾮常相似,但是实际上字节流的操作不会经过缓冲区(内存)⽽是直接操作⽂本本⾝的,⽽字符流的操作会先经过缓冲区(内存)然后通过缓冲区再操作⽂件5. 什么是Java序列化,如何实现Java序列化?1. 序列化就是⼀种⽤来处理对象流的机制,将对象的内容进⾏流化。

可以对流化后的对象进⾏读写操作,可以将流化后的对象传输于⽹络之间。

序列化是为了解决在对象流读写操作时所引发的问题2. 序列化的实现:将需要被序列化的类实现Serialize接⼝,没有需要实现的⽅法,此接⼝只是为了标注对象可被序列化的,然后使⽤⼀个输出流(如:FileOutputStream)来构造⼀个ObjectOutputStream(对象流)对象,再使⽤ObjectOutputStream对象的write(Object obj)⽅法就可以将参数obj的对象写出6. PrintStream、BufferedWriter、PrintWriter的⽐较?1. PrintStream类的输出功能⾮常强⼤,通常如果需要输出⽂本内容,都应该将输出流包装成PrintStream后进⾏输出。

最新黑马Java-IO知识测试附答案

最新黑马Java-IO知识测试附答案

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. FileReader和FileWriter是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.FileReader类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A. FileWriterB. InputStreamReaderC. FileReaderD. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是FileWiter类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

JavaIO流面试题及整理

JavaIO流面试题及整理

JavaIO流面试题及整理Java IO(Input/Output)流是Java程序在与外部设备进行数据交互时使用的机制。

在面试中,Java IO流是一个常见的考察点,面试官会针对IO流的原理、特性和用法进行提问。

本文将整理一些常见的Java IO流面试题及答案。

一、Java IO流的概念和分类Java IO流是Java对数据输入输出的重要概念,是通过字节流和字符流的方式进行数据的读写操作。

根据流的读写方向和数据处理单位的不同,Java IO流可以分为四大类:1. 字节流(Byte Streams):以字节为单位进行输入输出,主要用于处理二进制数据。

2. 字符流(Character Streams):以字符为单位进行输入输出,主要用于处理文本数据。

3. 节点流(Node Streams):直接连接到数据源或目标的流,例如文件输入输出流。

4. 处理流(Processing Streams):对节点流进行封装和处理的流,例如缓冲流和数据流。

二、常见的Java IO流类及其作用Java IO提供了多个用于读写数据的类,以下是几个常见的IO流类及其作用:1. FileInputStream和FileOutputStream:用于读写字节流,可以对文件进行输入输出操作。

2. FileReader和FileWriter:用于读写字符流,可以对文件进行输入输出操作。

3. BufferedReader和BufferedWriter:用于提供缓冲机制,提高字符流和字节流的读写效率。

4. ByteArrayInputStream和ByteArrayOutputStream:用于读写字节数组的流。

5. ObjectInputStream和ObjectOutputStream:用于读写对象的流。

三、Java IO流的阻塞和非阻塞模式阻塞与非阻塞是指IO操作在不能立即完成时的行为模式。

1. 阻塞模式:在阻塞模式下,当IO操作不能立即完成时,线程会被阻塞,直到IO操作完成。

练习13Java类IO流练习题

练习13Java类IO流练习题

Java I/O流练习题[] 选择题1.请问如下哪些类是FileOutStream类的正确构造方法形式?A: FileOutStream(FileDescriptor fd)B: FileOutStream(String path, boolean b)C: FileOutStream(boolean b)D: FileOutStream()E: FileOutStream(File file)答:2.请问下列类哪些是定义在java.io包中的抽象类?A: InputStreamB: OutputStreamC: PrintStreamD: ReaderE: FileInputStreamF: FileWriter答:3. 请问下列哪种描述是正确的?A: InputStream和OutputStream是基于字节流的。

B: Reader和Writer是基于字符流的。

C: ObjectInputStream和ObjectOutputStream是不支持序列化对象的。

D: Reader和Writer是支持对象序列化的。

E: 以上说法都不对。

答:4. 如下哪种描述是正确的?A: Writer类可以使用不同的字符集编码向输出流写入字符。

B: Writer类可以向输出流写入unicode字符。

C: Writer类提供向输出流写入任何Java基本数据类型的方法。

D: Writer类提供向输出流写入对象类型数据的方法。

E: 以上说法都不对。

答:5.给出写文件的代码如下:(不考虑异常)FileOutputStream fout=new FileOutputStream(“datafile”); DataOutputStream dout=new DataOutputStream(fout);for(int i=0;i<500;i++){dout.writeInt(i);}dout.close();fout.close();请问如下哪些代码可以从datafile中读出刚写入的数据?A:FileInputStream fin=new FileInputStream(“datafile”);DataInputStream din=new DataInputStream(fin);din.readInt();B:FileReader fr=new FileReader(“datafile”);fr.readInt();C:PipeInputStream pin=new PipeInputStream(“datafile”);pin.readInt();D:FileReader fr=new FileReader(“datafile”);DataInputStream din=new DataInputStream(fr);din.readInt();答:[] 编程题1:编写一个文件功能类FileFunction,有如下方法:1.public static void copyFile(String fromFileName, String toFileName) throws FileException功能将原文件拷贝到目标文件中,如果原文件不存在,抛出FileException异常。

IO流加集合加强练习题附答案

IO流加集合加强练习题附答案

休息日补充加强练习题:题目一: 将两个集合{“a”,“b”,“c”,“d”,“e”}和{“d”,“e”,“f”,“g”,“h”},题目二:已知文件a.txt文件中的内容为“AAbcdea22dferwplkCC321ou1”,请编写程序读取该文件内容,要求去掉重复字母(区分大小写字母)并按照自然排序顺序BufferedOutputStream(new FileOutputStream("C:\\Users\\xiawei\\Desktop\\新建文件夹\\" + file2.getName()));while ((lenght=bis.read(buf)) != -1) {bos.write(buf, 0, lenght);}bos.close();bis.close();}}}}题目四:模拟用户登录功能实现。

接收用户输入的用户名和密码,然后和文件中import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;题目五:在c盘下有篇txt文本,读取这个文本并统计出这个文本中指定字符的个数(如指定字符为”我”),将该字符与对应的次数输出到当前项目的key.txt中,例如:输出格式为:我=10import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;public class Demo2 {static Scanner sc=new Scanner(System.in);public static void main(String[] args) throws IOException {ArrayList<Character> list=newArrayList<Character>();File file=newFile("C:\\Users\\xiawei\\Desktop\\b.txt");BufferedReader br=new BufferedReader(new FileReader(file));int len=0;while((len=br.read())!=-1){list.add((char) len);}br.close();int count=0;for (Character c : list) {if(c=='我'){count++;}}String line="我="+count;BufferedWriter bw=new BufferedWriter(new FileWriter("key.txt"));bw.write(line);bw.close();}}题目七:在d盘目录下有一个加密文件 a.txt(文件里只有英文和数字),密码是“heima”,当密码输入正确时才能读取文件里的数据。

java练习册(024)--IO流(1)

java练习册(024)--IO流(1)

——JAVA篇使用IO流进行输入输出java.io.*包中。

分钟。

翻译练习写在JAVA笔记本上,书面作业写在JAVA 家庭作业本上。

Method Detail readpublic abstract int read() throws IOExceptionReadsthe next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown. A subclass must provide an implementation of this method. Returns:the next byte of data, or -1 if the end of the stream is reached. Throws: IOException - if an I/O error occurs.public int read(byte[] b) throws IOExceptionReadssome number of bytes from the input stream and stores them into the buffer array b. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown. If b is null, a NullPointerException is thrown. If the length of b is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b. The first byte read is stored into element b[0], the next one into b[1], and so on. The number of bytes read is, at most, equal to the length of b. Let k be the number of bytes actually read; these bytes will be stored in elements b[0] through b[k-1], leaving elements b[k] throughb[b.length-1] unaffected. If the first byte cannot be read for any reason other than end of file, then an IOException is thrown. In particular, an IOException is thrown if the input stream has been closed. The read(b) method for classInputStream has the same effect as:read(b, 0, b.length) Parameters:b - the buffer into which the data is read. Returns:the total number of bytes read into the buffer, or -1 is there is no more data because the end of the stream has been reached. Throws: IOException - if an I/O error occurs. NullPointerException - if b is null.See Also:D盘根目录下创建一个以自己名称命名的文件夹,并在该文件夹下创建一个以自己名称命名的文本文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.请问下列类哪些是定义在 java.io 包中的抽象类? A: InputStream B: OutputStream C: PrintStream D: Reader E: FileInputStream F: FileWriter 答:
3. 请问下列哪种描述是正确的? A: InputStream 和 OutputStream 是基于字节流的。 B: Reader 和 Writer 是基于字符流的。 C: ObjectInputStream 和 ObjectOutputStream 是不支持序列化对象的。 D: Reader 和 Writer 是支持对象序列化的。 E: 以上说法都不对。 答:
判断文件是否存在 3. public static void deleteFile(String name) throws FileException
删除文件方法。 [] 编程题 2: 编写一个文本分析类 TextProcessor 有如下方法: 1. public int getWordNum(String fileName) throws FileException
[] 编程题 1: 编写一个文件功能类 FileFunction,有如下方法: 1. public static void copyFile(String fromFileName, String toFileName) throws FileException
功能将原文件拷贝到目标文件中,如果原文件不存在,抛出 FileException 异常。 2. public static boolean isFileExist(String fileName)
5.给出写文件的代码如下:(不考虑异常) FileOutputStream fout=new FileOutputStream(“datafile”); DataOutputStream dout=new DataOutputStream(fout); for(int i=0;i<500;i++) {
4. 如下哪种描述是正确的? A: Writer 类可以使用不同的字符集编码向输出流写入字符。 B: Writer 类可以向输出流写入 unicode 字符。 C: Writer 类提供向输出流写入任何 Java 基本数据类型的方法。 D: Writer 类提供向输出流写入对象类型数据的方法。 E: 以上说法都不对。 答:
Java I/O 流练习题
[] 选择题 1.请问如下哪些类是 FileOutStream 类的正确构造方法形式? A: FileOutStream(FileDescriptor fd) B: FileOutStream(String path, boolean b) C: FileOutStream(boolean b) D: FileOutStream() E: FileOutStream(File file) 答:
dout.writeInt(i); } dout.close();
fout.close(); 请问如下哪些代码可以从 datafile 中读出刚写入的数据? A: FileInputStream fin=new FileInputStream(“datafile”); DataInputStream din=new DataInputStream(fin); din.readInt(); B: FileReader fr=new FileReader(“datafile”); fr.readInt(); C: PipeInputStream pin=new PipeInputStream(“datafile”); pin.readInt(); D: FileReader fr=new FileReader(“datafile”); DataInputStream din=new DataInputStream(fr); din.readInt(); 答:
统计一个含有英文单词的文本文件的单词个数。 2. public void getWordNumFile(String for Exception
统计指定的文件中含有指定单词的个数。
相关文档
最新文档