A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


今天我们学习了字符流和字节流,请根据自己的理解回答下面问题:
1.什么是输入流?什么是输出流?
2.输入流读取有几种方式,输出流写出有几种方式?
3.字符流和字节流的区别?
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

47 个回复

倒序浏览
1.输入流是从硬盘(文件)读取数据到内存,输出流是将内存中的数据保存到硬盘中(文件中)
2.输入流分字节输入流和字符输入流,只有一种方式,输出流也分字节输出流和字符输出流,有两种输出方式,可以有覆盖式输出和续写式输出,其中具体输出方式又分单字节或字符输出和以字节数组或字符数组输出
3.字节流是以底层数据存储的方式进行写入输出,字符流的底层也是字节流,但是经过代码和JVM处理后以字符显示进行写入输出
4.jdk7之前是 try....catch...fianlly ,jdk 8 加入try...with ...reasuce ,在try(创建流对象),可以自动释放资源 ,到9 后可以在try都得括号内传入流对象,自动释放资源,但依然对创建流对象过程抛出异常处理
回复 使用道具 举报 1 0
1.什么是输入流?什么是输出流?

   把数据从其他设备上读取到内存中,叫输入流。
   把数据从内存中写出到其他设备上,叫输出流。
2
.输入流读取有几种方式,输出流写出有几种方式?

   字节输入流读取有2种方式。   read(),read(byte[] bytes)。
   字节输出流写出有3种方式。write(int b);write(byte[] bytes);write(byte[] bytes ,  int off ,  int len)。
  字符输入流读取有2种方式        read(),read(char[] chars)
  字符输出流写出有5种方式   write(int b);write(char[] chars);write(char[] chars ,  int off ,  int len);  write(String str) ;  write(String str, int off ,  int len )
3.字符流和字节流的区别?

   字符流是以字符为单位读写数据的流
   字节流是以字节为单位读写数据的流
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

   JDK7之前使用try.....catch....finally...代码块
  JDK7使用try-with-sourse语句,无需手动close
  JDK9在JDK7的基础上引入对象的方式,无需手动close
回复 使用道具 举报 1 0
1、把数据从其他设备上读取到内存中,叫输入流。 把数据从内存中写出到其他设备上,叫输出流。
2、 字节输入流读取有2种方式read(),read(byte[] bytes)。
      字节输出流写出有3种方式write(int b);write(byte[] bytes);write(byte[] bytes ,  int off ,  int len)。
      字符输入流读取有2种方式read(),read(char[] chars)
      字符输出流写出有5种方式write(int b);write(char[] chars);write(char[] chars ,  int off ,  int len);  write(String str) ;  write(String str, int off ,  int len )
3、一个以字符为单位,一个以字节为单位。
4 JDK7之前使用try.....catch....finally...代码块
  JDK7使用try-with-sourse语句,无需手动close
  JDK9在JDK7的基础上引入对象的方式,无需手动close
回复 使用道具 举报
1.什么是输入流?什么是输出流?
    读                           写
2.输入流读取有几种方式,输出流写出有几种方式?
字符流/字节流                             字符流/字节流
3.字符流和字节流的区别?
字符流可以解决编码问题
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
try(创建流对象)                     JDK9    创建流对象并处理异常   try(流对象变量)
回复 使用道具 举报
.什么是输入流?什么是输出流?
输入流读取从文件中读取数据到代码中使用
输出流就是从代码中把数据传入文件
2.输入流读取有几种方式,输出流写出有几种方式?
两种,一种字节,一种字符(都是两种)
3.字符流和字节流的区别?
字节流读取的是字节
字符流读取的是字符
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
jdk7以前抛出和自己处理,7以后自己处理的方式中try后加了一个()
回复 使用道具 举报
余志斌
1.什么是输入流?什么是输出流?

输入流 :从目标文件数据读取至内存
输出流: 将数据写入目标文件
2.输入流读取有几种方式,输出流写出有几种方式?
   都是2种,一种通过字符流,一种通过字节流。
3.字符流和字节流的区别?
字节流是字符流的底层,是为了方便文本类文档操作设置的。
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
   在try后加了(),可以将对象创建步骤写在()内并且省略finally以及close方法。
回复 使用道具 举报 1 0
ZNBran 中级黑马 2018-8-23 21:23:22
8#
1输入流就是读取其他设备保存的文件到当前工作内存当中,输出流就是把当前内存中的数据写入其他设备。
2输入流读取有两种方式一种是读取单个字节或是字符,第二种是将字节或是字符读入数组。
输出流写出有两种方式一种是写入单个字符或字节,第二是写入数组。
3字符流以字符为单位读写一般用来读写文本文件,无法读写图片视频等非文本文件。
4在JDK7之前使用try catch finally 处理流中的异常,JDK7在try的后边可以增加一个(),在括号中可以定义流对象,try中的代码执行完毕,会自动把流对象释放,不用写finally。JDK7之后try的括号中可以直接写对象名称。
======================================================周楠
回复 使用道具 举报
1.什么是输入流?什么是输出流?InputStream/Reader
OutStream/Writer
2.输入流读取有几种方式,输出流写出有几种方式?
FileInputStream/FileReader
FileOutStream/FileWriter
3.字符流和字节流的区别?
字符流基于字节流,字符流只能处理文本文件,
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

7之前:
try{
可能会产生异常的代码
}catch(异常类变量 变量名){
异常的处理逻辑
}finally{
一定会指定的代码 资源释放
}
7之后
try(流对象1,流对象2,...){
可能会产生异常的代码
}catch(异常类变量 变量名){
异常的处理逻辑
}(执行完后会自动释放流对象,不用finally关键字)
回复 使用道具 举报
陈建秋
1.什么是输入流?什么是输出流?输入流:从硬盘中读取数据到工作内存中。
输出流:从工作内存中将数据写到硬盘上。
2.输入流读取有几种方式,输出流写出有几种方式?
字节输入流;字符输入流;
字节输出流,字符输出流;
3.字符流和字节流的区别?
1.字节流的操作单位为一个字节;字符流会以操作系统采用的默认编码表,表示字符的个数来作为基本单位
2.字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
JDK7之前使用try...catch...finally代码块处理异常,在finally代码块中关闭流。
JDK7的时候try-with-resource 语句,在try()的括号中创建流对象语句,如果多个,使用';'隔开 ,它会自动处理创建流对象时产生的异常,但是括号内的异常必须实现AutoCloseable,在try执行结束后关闭流。
JDK7之后 try-with-resource 的改进,对于引入对象的方式,支持的更加简洁。被引入的对象,同样可以自动关闭,无需手动close,当是在外部创建流对象依旧会抛出异常。
回复 使用道具 举报
spik 中级黑马 2018-8-23 21:26:48
11#
1.什么是输入流?什么是输出流?
    1、输入流是指把数据从其他设备上读取到内存中的流。
    2、输出流是指把数据从内存中写出到其他设备上的流。

2.输入流读取有几种方式,输出流写出有几种方式?
输入流读取有字节输入和字符输入两种;输出流也是有字节输出和字符输出两种。

3.字符流和字节流的区别?
字符流是指操作字符文本的流,底层还是字节流,是为了解决编码问题二产生的。
字节流是以二进制的形式读写文件的,在计算机中所有的文件都是以二进制的形式存储。

4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
7之前异常是以 try{}catch{}finally{}的形式,或者用throws声明出去。
8的时候出现了try(){}catch{} try后面的的参数是创建流对象,这样就能直接关闭资源
9的时候在8的基础上可以在参数中直接写对象,但是还是需要用throws将异常声明出去。

lijionghua
回复 使用道具 举报
1.什么是输入流?什么是输出流?
硬盘--》内存;内存--》硬盘
2.输入流读取有几种方式,输出流写出有几种方式?
inputstream&reader;outputstream&writer
3.字符流和字节流的区别?
字符流的底层原理是字节流,可读取中文而不会产生乱码(相同编码规则)。
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
7之前:try..catch..finally
7:try..with..sourse(不需要finally也会执行释放资源)
9: try中可以传流对象,但是流对象要创建在try上方,且需要抛出异常。
回复 使用道具 举报
1.什么是输入流?什么是输出流?
输入流:InputStream,将内容从磁盘中文件读取到工作内存中
输出流:OutputStream,将工作空间的内容写入到文件中

2.输入流读取有几种方式,输出流写出有几种方式?
输入流:字节输入流,字符输入流
输出流:字节输出流,字符输出流

3.字符流和字节流的区别?
字节流:读取文件时是一个字节一个字节读取
字符流:读取文件时是两个字节两个字节的读取

4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
JDK7之前,使用try...catch...finally,来处理异常代码块
JDK7优化后使用try-with-resource 语句,其特点是可以自动关闭资源,


回复 使用道具 举报
本帖最后由 张煜兴 于 2018-8-24 08:56 编辑

1.什么是输入流?什么是输出流?
输入流:进行读操作的流,从硬盘到内存
输出流:进行写操作的流,从内存到硬盘

2.输入流读取有几种方式,输出流写出有几种方式?
字节输入流读取主要有三种:read()、read(byte[ ] bytes)、read(byte[ ] bytes,int index,  int length),
字符输入流:read()、read(char[ ] chars)、read(char[ ] chars,int index,  int length)
字节输出流写出有:write()、write(byte[ ] bytes)、write(byte[ ] bytes,int index,  int length)
字符输出流:write()、write(char[ ] chars)、write(chars[ ] chars,int index,  int length)、write(string  s)、write(string  s,int index,  int length)

3.字符流和字节流的区别?
字节流和字符流部分方法传输的参数不一致,字符流只能对文本进行IO操作,而字节流可以对更多类型文件进行IO操作

4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
JDK7之前:用try...catch...finally
JDK7:用try()...with...resource
JDK7之后:用try(多个流对象,并用;隔开)...with...resource


回复 使用道具 举报
1.什么是输入流?什么是输出流?    输入流:相对于参照物读进来的数据
    输出流:相对于参照物写出去的数据

2.输入流读取有几种方式,输出流写出有几种方式?
       字节输入流;字节输出流
       字符输入流;字符输出流;
3.字符流和字节流的区别?
    1.字节流的操作单位为一个字节;字符流是字节流的包装,底层也是字节流。
    2.字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件

4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
    JDK7之前使用try...catch...finally代码块处理异常,在finally代码块中关闭资源。
    JDK7 try-with-resource 语句,在try()的括号中创建流对象语句,如果多个,使用';'隔开 ,它会自动处理创建流对象时产生的异常,但是括号内的对象必须实现   AutoCloseable,在try执行结束后关闭流。
    JDK7之后 try-with-resource 的改进,对于引入对象的方式,支持的更加简洁。被引入的对象,同样可以自动关闭,无需手动close,当是在外部创建流对象依旧会抛出异常。


回复 使用道具 举报
1.什么是输入流?什么是输出流?输入流:数据读入cpu
输出流:cpu数据写入文件
2.输入流读取有几种方式,输出流写出有几种方式?

两种:read方法和load方法
两种:write方法和Store方法
3.字符流和字节流的区别?

字符流:是以字符形式读取和写入,用字节流读取和写入会出去乱码
字节流:是以字节单位读取和写入
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

Jdk1.7 增加Try-with-resource语句多了(),会自动释放资源,关闭对象,不需要finally,lose方法
jdk1.7之后: 引入了对象方式,同样可以释放资源,不需要close方法




周家乾
回复 使用道具 举报
1.什么是输入流?什么是输出流?
从外界到内存
从内存到外界
2.输入流读取有几种方式,输出流写出有几种方式?
字节输入流 字符输入流
字节输出流 字符输出流
3.字符流和字节流的区别?
字符流的底层是字节流
字节流一个字节一个字节读取
字符流一个字符一个字符读取
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
try{}catch{}finally{}处理异常
try(流对象){}catch{} 可以直接关闭流资源
回复 使用道具 举报
MJ11 中级黑马 2018-8-23 21:34:30
18#
本帖最后由 MJ11 于 2018-8-23 21:58 编辑

1.什么是输入流?什么是输出流?
         输入流:InputStream,指把数据由硬盘设备读取到内存中的流         输出流:OutputStream,指把数据从内存中写出到其他设备上的流
2.输入流读取有几种方式,输出流写出有几种方式?
      输出流:三种,write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。                   write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输
                  出到此输出流。
                   write(int b) :将指定的字节输出流。
     输入流:两种,read() : 从输入流读取数据的下一个字节
                            read(byte[] b) : 从输入流中读取一些字节数,并将它们存储到字节数组 b中 。

3.字符流和字节流的区别?
         区别:字符流底层是字节流,字节流操作的是一个字节单位
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?
JDK之前: try...catch...finally
JDK之时:try()...with...resource,必须实现AutoCloseable,自动释放资源(Io对象调用close())
JDK之后:  try(IO对象名)..多个对象名之间用;隔开..with...resource   
               1.需要在try代码块上创建流对象,也需要处理异常
               田浪
回复 使用道具 举报
1.什么是输入流?什么是输出流?

输入流 :把数据从 其他设备 上读取到 内存 中的流。
输出流 :把数据从 内存 中写出到 其他设备 上的流。

2.输入流读取有几种方式,输出流写出有几种方式?

两种:字节流和字符流。

3.字符流和字节流的区别?

1.字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的
2.字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不close的情况下输出内容

4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

    JDK7之前处理异常需要在try、catch后面加final代码块处理close();代码过于冗余。JDK7之后,只需在try()里面定义io类即可自动关闭流。

    在JDK7之后新增加了AutoCloseable接口,而Closeable继承了该接口。能够写在try(...)的括号里面的类对象必须实现AutoCloseable 接口,这样try(...)里面的对象执行完代码块{...}里面的内容后(即大括号里面的内容执行完毕后小括号里面的对象会自动关闭),会自动调用自己的close()方法去关流,所以FileInputStream和FileOutputStream都是实现了AutoCloseable 接口的

回复 使用道具 举报
1.什么是输入流?什么是输出流?  输入流:内存从硬盘读取数据;
  输出流:内存把数据写到硬盘;
2.输入流读取有几种方式,输出流写出有几种方式?
   字节、字符输入流;
   字节、字符输出流;
3.字符流和字节流的区别?
   字节流可以用于任何对象,而字符流只能处理字符或字符串;
4.JDK7之前,JDK7和JDK7之后对IO流异常的处理有什么变化?

  jdk7前:try.....catch....finally..
  jdk7后:try-with-sourse,自动释放资源
  jdk9:需要在try代码块之上创建流对象
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马