1.IO流可以分为节点流和处理流两类,其中前者处于IO操作的第一线
2.输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数据,read()
方法给程序提供了一个输入流中读取数据的基本方法 。
3. _____序列化_______是指将Java对象转换成字节序列,从而可以保存到磁盘上,也可以在网络上传输,使得不同的计算机可以共享对象。
4. | 在Java中,下列关于读写文件的描述错误的是( B )。(选择一项) | |
|
|
|
| A | Reader类的read()方法用来从源中读取一个字符的数据 |
| B. | Reader类的read(int n )方法用来从源中读取一个字符的数据 |
| C. | Writer类的write(int n)方法用来向输出流写入单个字符 |
| D. | Writer类的write(String str)方法用来向输出流写入一个字符串 |
//关于read类的read方法
read方法:读取单个字符。 返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1 ;//说明:即返回读入长度且将内容读入数组中
readLine方法:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
public class T0517 {
public static void main(String[] args) {
FileReader input;
try {
input = new FileReader("c:/a.txt");
BufferedReader br = new BufferedReader(input);
for (int i = 0; i < 10; i++) {
System.out.println("read=" + br.read());//读入单个字符
// System.out.println("readline=" + br.readLine());}//读入一行
} catch (FileNotFoundException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}}
}
=================================
C盘根目录下放入文件a.txt 里面内容有3行
a
1
123
===========
使用read测试(直接执行代码
)
==================
read=97
read=13
read=10
read=49
read=13
read=10
read=49
read=50
read=51
read=-1说明:返回的数字是字符的char型码,97=[a] ;49=[1];50=[2];51=[3];13=[回车];10=[换行];-1=[文件到底下面没有内容就返回-1总结:read返回文件中所有内容的char型码===========
使用readline测试(代码中注释掉那句,并把read注释掉执行)
===========
readline=a
readline=1
readline=123
readline=null
readline=null
readline=null
readline=null
readline=null
readline=null
readline=null
说明:很明显是取文件中每一行的内容输出最后,两个方法因为返回值不同,所以基本不会换着用,readline比较多用,因为方便,read用的相对少,因为要得到可读的内容,需要转码.