先把教材的最后一章看了再说

1. File class
四个常量:pathSeparator, pathSeparatorChar, separator, separatorChar
与常量命名惯例冲突。

2. 几乎所有的I/O类的方法会抛出java.io.IOException,在使用时必须声明或使用try块。

3. 文本IO
两个基类Reader和Writer,下面分别有InputStreamReader BufferedReader FileReader PrintWriter等子类。
基类的方法Core Java中已经看了一部分了。
PrintWriter类并不会抛出IOException

4. FileReader / FileWriter
Reader及其子类访问一个并不存在的文件会抛出IOException的子类FileNotFoundException。
判断文件结尾:input.read() == -1
FileWriter的常用构造方法:
java.io.FileWriter(java.io.File)
java.io.FileWriter(java.lang.String)
java.io.FileWriter(java.io.File, boolean append)
java.io.FileWriter(java.lang.String, boolean append)
如果文件已经存在,前面两个构造器会清除该文件的所有内容。使用后面两个构造器,并设置append为true可以防止这种情况。
也可以在写入前判断:
if (file.exites()) {
System.out.println(“File temp.txt already exites”);
System.exit(0);
}

5. InputStreamReader / InputStreamWriter
可以在byte和char之间转换。编码方式可以是默认的,也可以由用户指定。
getEncoding()方法返回当前的编码方式名(String)。由于FileReader和FileWriter是他们的子类,因此也可以使用这个方法。

6. BufferedReader / BufferWriter
使用了一个字符数组作为缓冲区,减少读写次数,以提高读写速度。
在输入时,预先读入字符;输出时,先把内容暂存在数组中,分块输出到输出流。
构造器
java.io.BufferedReader(java.io.Reader)
java.io.BufferedReader(java.io.Reader, int)
java.io.BufferedWriter(java.io.Writer)
java.io.BufferedWriter(java.io.Writer, int)
int指定了缓冲区大小,默认为8192字节。
可以用BufferedReader/Writer类“包装”任何Reader/Writer流。
String BufferedReader.readLine()方法返回一行不带有换行符的文本,没有则返回null。
void BufferWriter.newLine()方法写入一个换行符

7. PrintWriter / PrintStream
以文本形式输出对象、字符串或者数值。PrintWriter被设计用于代替PrintStream,两者的输出功能几乎相同,但是前者更高效。
System.out就是一个静态的PrintStream对象,默认为屏幕控制端,可以通过System.setOut(PrintStream)重新设置。
两者都有许多重载的print/println方法,以及和C相似的printf。
PrintWriter的构造器(并不会抛出IOException异常)
public PrintWriter(Writer out)
public PrintWriter(Writer out, boolean autoFlush)


posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2.23 Java notes - Simple Input and Output

Posted on 2007-04-22 20:24 ZelluX 阅读(532) 评论(0)  编辑  收藏 所属分类: OOP
2007-02-23 14:53:10
只有注册用户登录后才能发表评论。


网站导航: