黑马程序员技术交流社区

标题: 关于IO流返回值的问题? 求解惑? [打印本页]

作者: 刘茂林    时间: 2013-5-19 12:05
标题: 关于IO流返回值的问题? 求解惑?
本帖最后由 刘茂林 于 2013-5-19 13:03 编辑

在循环读取或写入之前 要定义一个  int 类型 和String类型的 中间 变量,但是不太清楚什么时候用int 什么时候用string  能说下 字节流 字符流  带缓冲区 不带缓冲区 的返回值分别是什么么?? 多谢了
作者: SOAR    时间: 2013-5-19 12:39
看api啊,自学。
作者: 逸盏清茶    时间: 2013-5-19 12:40
字节流就定义 int ,字符流就定义 String   带缓冲区的也用String
作者: 萌小子    时间: 2013-5-19 12:42
      int一般用在读取单个字符的时候,这个读到文件末尾的时返回-1,比如BufferedReader读取单个字符的时候返回的就是-1,如果是按行读取的话,那么返回的就是null,这个时候就要用String了,因为读取到的是字符串。
    按字符、字节读取的时候返回的就是int型的:没有读到流末尾返回已经读取到的字符数/字节数,如果已到流末尾则返回-1;另外读取字符还有单个字符读取和按行读取,如果是按行读取那么返回的就是已经读取到的行的内容,到达流末尾返回null。
    缓冲区不缓冲区的返回值就没什么区别了,返回值和上面是一样的。
作者: 无妄无涯    时间: 2013-5-19 12:48
忽然问这么一堆,感觉你完全没搞清楚,建议多看几遍视频和API,单纯这么问很难让你明白。
作者: 刘茂林    时间: 2013-5-19 12:59
王盟盟 发表于 2013-5-19 12:42
int一般用在读取单个字符的时候,这个读到文件末尾的时返回-1,比如BufferedReader读取单个字符的时 ...

懂了   也就是说  只要读取的是单个的 就是int    读取一行的时候就是 string 是么?
作者: 萌小子    时间: 2013-5-19 13:01
刘茂林 发表于 2013-5-19 12:59
懂了   也就是说  只要读取的是单个的 就是int    读取一行的时候就是 string 是么? ...

是的,正解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2