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面试题

java io面试题Java IO(Input/Output)是Java程序中进行输入输出的基础类库,它提供了一套丰富的类和方法,用于处理文件、网络连接、输入流和输出流等操作。

在Java开发中,掌握和理解Java IO的相关知识是非常重要的。

本文将介绍一些常见的Java IO面试题,帮助读者更好地应对面试。

1. 请解释一下Java IO的工作原理。

Java IO主要通过流(Stream)的方式来操纵数据。

流是输入/输出操作的顶级抽象类,它可以理解为是一个数据在源和目标之间的一个通道。

Java中的流按照输入和输出分成了两个体系:输入流(InputStream)和输出流(OutputStream),分别用于读取和写入数据。

其中,输入流从源读取数据,输出流向目标写入数据。

2. 请解释一下字节流和字符流的区别。

Java IO中的字节流(Byte Stream)操作的是8位字节,它适用于二进制文件和字节流形式的输入输出。

而字符流(Character Stream)操作的是16位Unicode字符,它适用于文本文件和字符流形式的输入输出。

字节流和字符流在处理文本文件时有很大的不同,字节流需要自己处理字符编码转换的问题,而字符流则提供了字符编码转换的功能。

3. 请解释一下Java IO中的四种基本的File类(File、FileReader、FileWriter、FileInputStream、FileOutputStream)的作用,并给出它们的示例使用方式。

- File类:用于表示文件或目录的路径,可以操作文件或目录的属性、创建和删除文件或目录等。

```javaFile file = new File("path/to/file.txt");boolean exists = file.exists();boolean isDirectory = file.isDirectory();```- FileReader和FileWriter类:用于从文件中读取字符流和向文件中写入字符流的操作。

(完整版)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. 输入输出在计算机中有两个主要作用:采集数据和提供数据处理结果。

4_集合+IO试题

4_集合+IO试题

4_集合+IO试题集合+IO 部分共40道选择题,每题2.5分。

多选题有错则全错,全对才满分.1.单列集合的顶层接口是( )a)Mapb)Collectionc)Listd)Set2.ArrayList类的底层数据结构是( )a)数组结构b)链表结构c)哈希表结构d)红黑树结构3.LinkedList类的特点是( )a)查询快b)增删快c)元素不重复d)元素自然排序4.Vector类的特点是( )a)线程同步b)线程不同步c)增删快d)底层是链表结构5.关于迭代器说法错误的是( )a)迭代器是取出集合元素的方式b)迭代器的hasNext()方法返回值是布尔类型c)List集合有特有迭代器d)next()方法将返回集合中的上一个元素6.FileReader类描述正确的是( )a)字节输入流b)字符输入流c)打印流d)序列化流7.具有readLine()方法的类是( )a)FileWriterb)InputStreamReaderc)FileReaderd)BufferedReader8.关于newLine()方法描述错误的是( )a)newLine()方法写入换行b)newLine()方法与操作系统平台无关c)newLine()方法是FileWiter类的方法d)newLine()方法是BufferedWriter类的方法9.下面代码运行的结果是( )ArrayList al = new ArrayList();al.add(true);al.add(123);al.add(“abc”);System.out.println(al);a)编译失败b)[true,123]c)[true,123,abc];d)[abc];10.实现下列哪个接口,可以启用序列化功能( )a)Runnable接口b)Comparable接口c)Serializable接口d)Comparator接口11.字节输出流的抽象基类是( )a)OutputStream类b)InputStream类c)Writer类d)Reader类12.下面程序的运行结果是( )FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);fos.write(“abc”);fos.close();a)在C盘创建文件demo.txt,但文件是空的b)在C盘创建文件demo.txt,并写入数据abcc)将C盘已有的文件demo.txt中追加写入abcd)编译失败13.将Map集合中的键存储到Set集合的方法是( )a)entrySet()b)get()c)keySet()d)put()14.A rrayList和Vector的区别说法正确的是( )a)ArrayList是线程安全的,Vector是线程不安全b)ArrayList是线程不安全的,Vector是线程安全的c)ArrayList底层是数组结构,Vector底层是链表结构d)ArrayList底层是链表结构,Vector底层是数组结构15.存储到TreeSet集合中的对象必须具有( )a)必须实现Comparable接口b)main方法c)get和set方法d)必须实现Serializable接口16.将集合转成数组的方法是( )a)asList()b)toCharArray()c)toArray()d)copy()17.对于增强for循环说法错误的是( )a)增强for循环可以直接遍历Map集合b)增强for循环可以操作数组c)增强for循环可以操作Collection集合d)增强for循环是JDK1.5版本后出现的18.对于HashMap集合说法正确的是( )a)底层是数组结构b)底层是链表结构c)可以存储null值和null键d)不可以存储null值和null键19.C ollections工具类中的binarySearch()方法描述正确的是( )a)binarySearch()方法只能操作Set集合b)binarySearch()方法只能操作List集合c)binarySearch()方法只能操作Map集合d)binarySearch()可以操作所有的集合20.下面代码的运行结果是( )ArrayList al = new ArrayList();al.add(“a”);al.add(“b”);al.add(“c”);Iterator it = al.iterator();while(it.hasNext()){String s = (String)it.next();if(s.equals(“c”)){al.add(“c1”);}}System.out.println(al)a)[a,b,c]b)[c1]c)[a,b,c,c1]d)抛出ConcurrentModificationException异常21.P roperties类中的哪个方法可以和IO流相关联( )a)getProperty()b)setProperty()c)load()d)stringPropertyNames()22.以下哪两个流对象可以实现任意类型文件的成功复制( )a)FileReader 和FileWriterb)FileInputStream和FileOutputStreamc)BufferedReader和BufferedWriterd)InputSteamReader和OutputStreamWriter23.下面哪个流是字节通向字符的桥梁( )a)InputStreamReaderb)OutputStreamWriterc)LineNumberReaderd)ObjectInputStream24.关于对象的序列化说法错误的是( )a)实现序列化的对象必须实现Serializable接口b)实现序列化的对象必须自定义序列号c)ObjectOutputStream中的writeObject()方法可以将对象写出d)ObjectInputStream中的readObject()方法可以读取对象25.关于Map.Entry接口说法错误的是( )a)具有getkey()方法b)具有getValue()方法c)具有keySet()方法d)具有setValue()方法26.S et集合的特点是( )a)元素有序b)元素无序,不存储重复元素c)存储重复元素d)Set集合都是线程安全的27.关于将数组转成集合后,不可以进行的操作是( )a)增加集合中的元素b)迭代集合c)修改集合中的元素d)获取集合中元素的个数28.下面代码运行的结果是( )ArrayList al = new ArrayList<>();al.add("s");al.add("ddd");al.add("true");System.out.println(al)a)编译失败b)[s,ddd,true]c)[true]d)运行报错29.关于字符输入流FileReader描述错误的是( )a)可以读取文本文件b)是Reader的子类c)具有读取一行的方法d)无法获得要读取文件的字节数30.使用字符流可以成功复制哪些文件( )a)文本文件b)图片文件c)视频文件d)以上都可以复制以下题目为多项选择31.F ile类中的listFiles()方法说法正确的是( )a)获取File对象封装的路径下的全部文件和文件夹对象b)只获取File对象封装的路径下的文件c)该方法返回File类型数组d)该方法返回String类型数组32.关于File类中的exists()方法说法错误的是( )a)判断File对象中封装的路径或者文件是否存在b)此方法返回boolean类型值c)判断File对象封装的路径是否是相对路径d)判断File对象封装的路径是否是绝对路径33.F ile类中的isDirectory()方法的作用是( )a)判断File对象封装的是否是文件b)判断File对象封装的是否是目录c)判断File对象中封装的是否是根目录d)返回值类型是boolean34.关于HashMap集合说法正确的是( )a)HashMap集合是双列集合b)HashMap集合不允许存储重复键c)HashMap集合不允许存储重复值d)HashMap集合线程是安全的35.下列哪两个方法可以创建目录( )a)createNewFile()b)createTempFile()c)mkdir()d)mkdirs()36.关于打印流PrintWriter说法正确的是( )a)该流支持各种类型数据的输出b)该流既可以读,也可以写c)该流用来实现编码的转换d)该流是Writer的子类37.关于泛型的说法正确的是( )a)泛型是JDK1.5出现的新特性b)泛型是一种安全机制c)使用泛型避免了强制类型转换d)使用泛型必须进行强制类型转换38.关于Properties说法正确的是( )a)是Hashtable的子类b)是双列集合c)可以和IO结合使用d)是HashMap的子类39.关于方法的递归算法,说法正确的是( )a)递归就是方法自己调用自己b)递归的次数不能过大,否则会导致栈内存溢出c)使用递归算法,方法必须有返回值d)构造方法不可以使用递归算法40.L ist集合的遍历方式有如下哪几种( )a)Iterator迭代器实现b)增强for循环实现c) get()和size()方法结合实现d)get()和length()方法结合实现。

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代码,共有()处错误。

IO流习题

IO流习题

I/O流习题一、选择题1.下列类中( )不是输入输出流类iostream的派生类。

(a) fstream (b) ofstream(c) strstream (d) ostrstream2.在下列选项中()是ostream类的对象。

(a) cin (b) cerr (c) clog (d) cout3.read函数的功能是从输入流中读取()。

(a)一个字符(b)当前字符(c)一行字符(d)指定若干个字节4.下列选项中,用于清除基数格式位设置以十六进制输出的语句是()。

(a)cout<<setf(ios::dec,ios::basefield);(b)cout<<setf(ios::hex,ios::basefield);(c)cout<<setf(ios::oct,ios::basefield);5.下列格式控制符,在iostream.h中定义的是(),在iomanip.h中定义的是()。

(a)endl (b) setfill (c) setw (d) oct6.下列串流类,在strstream.h中定义的是(),在iomanip.h中定义的是()。

(a)istringstream (b) istrstream (c) ostringstream (d) ostrstream 7.包含类fstream定义的头文件是()。

(a)fstream.h (b) ofstream.h (c) ifstream.h (d) iostream.h 8.要求可打开文件“D:\file.dat”写入数,错误的语句是()。

(a)ifstream infile(“D:\file.dat”,ios::in);(b)ifstream infile(“D:\\file.dat”,ios::in);(c)ofstream infile(“D:\file.dat”,ios::out);(d)fstream infile(“D:\ \file.dat”,ios::in | ios::out);9.假定已定义浮点型变量data ,以二进制方式把data 的值写入输出文件对象outfile中去,正确的语句是()。

公司内部Javaio流笔试题

公司内部Javaio流笔试题

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

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

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

狂翔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. 输入输出在计算机中有两个主要作用:采集数据和提供数据处理结果。

9. ByteArrayInputStream以字节数组作为输入流。

10PrintStream类是字节输出流特有的类,实现了将java基本数据类型转换为字符串表示11. BufferedInputStream类是FilterInputStream 类的子类。

12.在Java.io中,可以直接访问内存的类有ByteArrayOutputStream 、ByteArrayInputStream和StringBufferInputStream13. 进行字节输入流的数据来自二进制数文件的时候,FileInputStream 对象的构造方法的参数是该二进制文件14. 流在传输过程中的串行的15. 在java语言中,实现多线程之间通信的流是管道流16. 在数据传输过程中,对数据进行某种类型的加工处理,这一过程称做过滤17. StringReader类可以将一个String 对象作为一个字符输入流使用18. 向文件对象写入字节数据应该使用FileInputStream 类,而向一个文件里写入文本应该使用DataInputStream 类19. InputStreamReader类是以字节输入流作为数据源的字符输入流。

20. Java.io包中同时兼有输入输出类是RandomAccessFile 。

三.问答题1.字符类输入流有哪些答:字符类输入流都继承自Reader类,实现从数据源读取Unicode码序列的操作(1)FileReader类继承自InputStreamReader类,用于读取Unicode码序列的操作。

(2)BufferedReader类继承自Reader类,它使用缓存技术,提高了字符传输的效率(3)InputStreamReader类和BufferedReader类都继承自Reader类(4)Reader类包含的方法有:read(),skip(),mardSupported(),mark(),reset()等(5)InputStreamReader类包含的方法有:getEncoding(),InputStreamReader(),close()等(6)BuffereReader类包含的方法有:readLine(),BufferedReader()等2.字符类输出流有哪些答:字符类输出流继承自Writer类,实现向数据目的地输出Unicode码序列的操作(1)PrintWriter和OutputStreamWriter是Writer的子类(2)PrintWriter类用于输出字符,其方法println()实现向输出流写入字符数据。

(3)OutputStreadWriter类的子类FileWriter,实现向文本文件写入字符数据(4)Writer类包含的方法:writer() flush()等(5)OutputStreamWriter类包含的方法:OutputStreamWriter(),close()等(6)BufferedWriter类包含的方法:newLine(),BufferedWriter()等3.简要说明过滤流答:在Java中,过滤流提供了对I/o的同步处理机制。

java.io包中的FilterInputStream 和FileOutputStream抽象类实现了过滤流(1)使用过滤流之前,需要将该过滤流和一个I/O流相连(2)BufferedInputStream和BufferedStream类分别继承自FilterInputStream和FileOutputStream类,使用缓冲技术,提高了效率。

(3)DataInputStream和DataOutputStream可以用于读写Java语言的基本数据类型,不用做转换4.简要说明管道流答:在JA V A 中,不同的Java程序、线程或化代码段相互之间的数据交换通过管道流实现。

java.io包中2个类:PipedInputStream和PipedOutputStream类实现了管道机制。

5.简要说明文件数据流6.如果要利用read()方法取得输入数据流的下一个字节数据,并希望可以将所取得的数据转存成字符(char)数据类型,应该如何做?7. 字节数据流(Byte Streams)向上继承于哪两个主要的抽象类?8. 什么是格式化输入输出数据流?在java中哪两个类属于格式化输入输出数据流?9. 何谓管理(pipe)处理?Java中负责管道处理的字节数据流包是什么?10. 在文件数据流包(java.io.File)中主要包含哪些类和接口以供程序开发人员轻松地掌握文件的管理操作?。

相关文档
最新文档