Java暑期学习Day31
今天是第31天,终于下了个API文档,中文的{:10_264:}static/image/hrline/2.gif
如下代码,完成读取纯文本文档,并以字符串返回文档中所有文字的操作:
package exception;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileUtil {
public static String readFile(String name){
StringBuilder text=new StringBuilder();
try{
Scanner console=new Scanner(new FileInputStream(name));
while(console.hasNext()){
text.append(console.nextLine())
.append('\n');
}
}catch(FileNotFoundException ex){
ex.printStackTrace();
}
return text.toString();
}
}
其中用API查询的信息如下:
1.
-java.lang.Object
-file:///resources/inherit.gifjava.io.InputStream
-file:///resources/inherit.gifjava.io.FileInputStream
2.
FileInputStream 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
3.
public FileInputStream(String name)
throws FileNotFoundException
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。创建一个新 FileDescriptor 对象来表示此文件连接。
首先,如果有安全管理器,则用 name 作为参数调用其 checkRead 方法。
如果指定文件不存在,或者它是一个目录,而不是一个常规文件,抑或因为其他某些原因而无法打开进行读取,则抛出 FileNotFoundException。
4.
iterator 迭代器 迭代程序
hasNext()——这是迭代器的用法。
使用hasNext()检查序列中是否还有元素,如果仍有元素可以迭代,则返回 true。
5.
Scanner创建时可以给予InputStream实例,而FileInputStream可指定文档名来开启与读取文档内容,是InputStream的子类。
如果方法设计流程中发生异常,而设计时并没有充足的信息知道该如何处理(例如不知道链接库会用在什么环境),那么可以抛出异常,让调用方法的客户端来处理。如:
package exception;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileUtil {
public static String readFile(String name)
throws FileNotFoundException{
StringBuilder text=new StringBuilder();
Scanner console=new Scanner(new FileInputStream(name));
while(console.hasNext()){
text.append(console.nextLine())
.append('\n');
}
return text.toString();
}
}
6.
操作对象的过程中如果会抛出受检异常,但目前环境不足以处理异常,所以无法使用try、catch处理时,可由方法的客户端依据当时调用的环境信息进行处理。为了告诉编译系统这个事实,必须使用throws声明此方法会抛出的异常类型或父类型,编译程序才可通过编译。
throws声明部分会是API操作接口的一部分,客户端不用查看原始码,从API文件中可直接得知。
页:
[1]