达内笔试题——Java基础知识与编程实践

需积分: 50 10 下载量 134 浏览量 更新于2024-07-19 收藏 70KB DOC 举报
"达内笔试题,包含闭卷考试,API、OOP和基础知识点的考察" 这份笔试题主要针对的是Java编程语言的基础知识,包括API使用、面向对象编程(OOP)以及基本概念。让我们逐一分析每道题目。 1. 题目描述了一个Java程序,尝试向文件"record.dat"写入字符'a'。`FileOutputStream`用于打开或创建一个文件以进行写入,而`BufferedOutputStream`则作为其包装器,提高写入效率。在Java中,`FileOutputStream`默认是以覆盖模式写入,即如果文件存在,原有内容会被新内容覆盖。因此,正确答案是C. 实现向文件record.dat覆盖写入字符a。 2. 要创建一个`InputStreamReader`对象,通常需要传入一个`InputStream`对象作为参数。选项A正确地使用了`FileInputStream`来获取文件输入流,然后传递给`InputStreamReader`。因此,正确答案是A. ```java new InputStreamReader(new FileInputStream("1.dat")); ``` 3. 能够按行读取文件数据的流是`BufferedReader`,因为它提供了`readLine()`方法,可以逐行读取文本文件。所以正确答案是B. BufferedReader。 4. 最后一道题目涉及Java中的数组和异常处理。在Java中,尝试访问空数组会抛出`NullPointerException`。因此,当尝试访问`s[0]`时,程序会抛出异常,执行catch块中的代码,打印"Exception"。所以,编译和运行的结果是打印"Exception",而不是试图打印或执行任何其他代码。正确答案是执行catch块中的代码。 这些题目涵盖了Java I/O流的基本操作,异常处理以及对象的构造。对于准备参加类似笔试的学生来说,理解这些知识点至关重要。了解如何使用不同的输入输出流(如FileInputStream, FileOutputStream, InputStreamReader, BufferedReader等),以及如何处理可能出现的异常,是Java编程的基础技能。同时,熟悉面向对象编程中的基本概念,如类、对象和异常处理机制,也是必不可少的。