《第十五章习题※答案(共8页).doc》由会员分享,可在线阅读,更多相关《第十五章习题※答案(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、填空题1.所有字节流类的基类是_、_(InputStream OutputStream)2.所有字符流类的基类是_、_(Reader Writer)3.InputStream类以_为信息的基本单位(字节)4.Reader类以_为信息的基本单位(字符)5._类用以处理文件和路径问题(File)6.Java中标准输入输出流对象是:_、_、_(System.in System.out System.err)7.System.in的类型是_(InputStream)8.System.out的类型是_(PrinterStream)二、选择题1.以下选项中属于字节流的是(A)
2、A)FileInputSream B)FileWriter C)FileReader D)PrintWriter2.以下选项中不属于File类能够实现的功能的是(D)A)建立文件 B)建立目录 C)获取文件属性 D)读取文件内容3.以下选项中哪个类是所有输入字节流的基类(A)A)InputStream B)OutputStream C)Reader D)Writer4.以下选项中哪个类是所有输出字符流的基类(D)A)InputStream B)OutputStream C)Reader D)Writer5.下列选项中能独立完成外部文件数据读取操作的流类是(B)A)InputStream B)F
3、ileInputStream C)FilterInputStream D)DataInputStream6.下列选项中能独立完成外部文件数据读取操作的流类是(B)A)Reader B)FileReader C)BufferedReader D)ReaderInputStream7.在建立FileInputStream流对象时可能会产生下列哪种类型的异常(B)A)ClassNotFoundException B)FileNotFoundException C)RuntimeException D)AWTException8.在使用FileInputStream流对象的read方法读取数据时可能会
4、产生下列哪种类型的异常(D)A)ClassNotFoundException B)FileNotFoundExceptionC)RuntimeException D)IOException三、程序设计题1编写应用程序,使用System.in.read()方法读取用户从键盘输入的字节数据,回车后,把从键盘输入的数据存放到数组buffer中,并将用户输入的数据通过System.out.print()显示在屏幕上。import java.io.*;public class Class1public static void main(String args)byte buffer=new byte12
5、8; int n;try n=System.in.read(buffer); /把键盘输入的数据读到数组buffer中,返回实际读取的字节数for(int i=0;in;i+)System.out.print(char)bufferi);catch(IOException e) System.out.print(e); 2编写应用程序,使用System.in.read()方法读取用户从键盘输入的字节数据,回车后,把从键盘输入的数据存放到数组buffer中,并将用户输入的数据保存为指定路径下的文件。import java.io.*;public class Class1public static
6、 void main(String args)byte buffer=new byte128; int n;try n=System.in.read(buffer); FileOutputStream out=new FileOutputStream(./abc.txt,true);/追加 /FileOutputStream out=new FileOutputStream(./abc.txt,false); out.write(buffer,0,n); out.close( );catch(IOException e) System.out.print(e); 3. 编写java应用程序,使
7、用FileInputStream类对象读取程序本身(或其他目录下的文件)并显示在屏幕上。import java.io.*; public class Class1public static void main (String args) try/FileInputStream fis=new FileInputStream(c:windowsConfig.txt); FileInputStream fis=new FileInputStream(Class1.java);int n;while(n=fis.read()!=-1)System.out.print(char)n);fis.clos
8、e();catch(IOException e)System.out.println(e.toString();4. 编写java应用程序,使用FileInputStream类对象读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上(或存储为其他文件)。import java.io.*;/读取程序本身,显示在屏幕上public class Class1public static void main (String args)tryFileInputStream fis=new FileInputStream(Class1.java);byte b=new bytefis.availa
9、ble();System.out.println(文件流的大小:+fis.available();int n=fis.read(b);myprint(b);System.out.print(实际读取的字节数:+n);fis.close();catch(IOException e)System.out.println(e.toString();static void myprint(byte x)for(int i=0;ix.length;i+)System.out.print(char)xi);5编写应用程序,程序中创建一个文件输入流对象fis,读取当前目录下文本文件test1.txt,该文件
10、内容有如下两行文本:Java program is easy.I like it.从文件输入流fis中读取5个字节数据存放到数组b中,字节数据存放的位置从数组下标3开始。将读取的数据在屏幕输出。import java.io.*;public class Class1 public static void main( String args ) throws IOException File file = new File(./test1.txt);FileInputStream fis = new FileInputStream( file);int n=0; byte b=new byte8
11、;n=fis.read(b,3,5);fis.close();for(int i=3;ib.length;i+)/字节数组中从下标3开始的数据转化为字符后输出。System.out.print(char)bi+t);6编写应用程序,程序中创建一个文件输出流对象out向当前目录下已有的文件abc.txt(内容为:ABCDEFG)写入字符串abcdefg中的所有字符和大写字母A。import java.io.*;public class Class1public static void main (String x) throws IOException String s=abcdefg;byte
12、 b;FileOutputStream out=new FileOutputStream(./abc.txt,true);/添加字节数据b=s.getBytes();out.write(b,0,b.length);out.write(65);/写入字节数据65-Aout.close();7使用RandomAccessFile类及其方法。import java.io.*;public class Class1public static void main( String args )try/以随机方式写入数据RandomAccessFile out = new RandomAccessFile(
13、 1.dat , rw );out.writeInt(12345);/4out.writeChar(A);/2out.writeBoolean(true);/1out.writeUTF(程序设计);/8 /显示字符A 和”程序设计“out.seek(4);System.out.println(out.readChar();out.skipBytes(1);/out.seek(7);System.out.println(out.readUTF();System.out.println(out.getFilePointer();System.out.println(out.length();out
14、.close();System.in.read();catch( IOException e )System.out.println( e );System.exit( -2 );8编写应用程序,使用RandomAccessFile类及其方法,把程序本身分两次显示在屏幕上。第一次直接显示,第二次给每一行添加的行号显示。import java.io.*;public class Testpublic static void main( String args ) throws IOExceptionRandomAccessFile randomfile = new RandomAccessFil
15、e(Test.java , r );String s;while(s=randomfile.readLine()!=null)System.out.println(s);long filePointer=0,fileLength=randomfile.length();randomfile.seek(0); /文件指针已到文件尾,将文件指针重设到文件开始位置int i=1;while(filePointerfileLength)s=randomfile.readLine();System.out.println(i+)+ +s);filePointer=randomfile.getFilePo
16、inter();randomfile.close();9在程序所在的目录下有子目录b,目录b下有文本文件testb.txt。编写应用程序,创建文件对象:File file=new File(b/testb.txt);通过文件对象file得到它的文件名、相对路径、绝对路径、父目录名。import java.io.*;public class Class1public static void main( String args )File file=new File(b/testb.txt);System.out.println(文件名: + file.getName( ) );System.ou
17、t.println(相对路径: + file.getPath( ) );System.out.println(绝对路径: + file.getAbsolutePath( ) );System.out.println(父目录名: + file.getParent( ) );10请编写一个名为Class1.java的Application,其功能为:测验文件Class1.java是否存在并输出其长度。import java.io.*;public class Class1public static void main (String args)File f1=new File(./Class1.j
18、ava);System.out.println(is exist:+f1.exists( );System.out.println(file length:+f1.length( );11编写应用程序:创建目录c:temp,并创建一个文件2.txt,向该文件中写入字符串The first snow came.共5次。import java.io.*; public class Class1public static void main(String args) throws IOExceptionFile file1=new File(c:temp);file1.mkdir();File fi
19、le2=new File(file1,2.txt);FileOutputStream out1=new FileOutputStream(file2);String s=The first snow came.;byte b=s.getBytes();for(int i=0;i5;i+)out1.write(b,0,b.length);12过滤文件并显示。import java.io.*;public class Class1public static void main( String args )tryFile oDir = new File( . );String strList;/如果
20、没有命令行参数就取当前目录下的所有文件列表if( 0 = args.length )strList = oDir.list( );elsestrList = oDir.list( new DirFilter(args0);for( int i = 0; i strList.length; i + )System.out.println( strList i );catch( Exception e )System.out.println( e );class DirFilter implements FilenameFilterString strPick;DirFilter( String
21、pickname )this.strPick = pickname;public boolean accept( File dir, String name )return name.endsWith( strPick );13编写java应用程序,使用FileReader类对象读取程序本身(或其他目录下的文件)并显示在屏幕上。import java.io.*;/读取程序本身,显示在屏幕上public class Class1public static void main (String args)tryFileReader fis=new FileReader(Class1.java);/F
22、ileReader fis=new FileReader(c:windowsConfig.txt);int n;while(n=fis.read()!=-1)System.out.print(char)n);fis.close();catch(IOException e)System.out.println(e.toString();14编写应用程序,创建BufferedReader的对象,从某个文本文件中的字符输入数据流中读取一行字符(该文件与程序在同一目录下),跳过10个字节后将其显示出来。import java.io.*;public class Class1public static void main(String args) throws IOExceptionBufferedReader b_reader=new BufferedReader(new FileReader(1.js); String str;b_reader.skip(10);str=b_reader.readLine();System.out.println(str);专心-专注-专业