4个回答
展开全部
找了半天。终于找到原来的笔记了。。。
送你~\(≥▽≤)/~啦啦啦
祝你好运!!!
常联系。
流的分类:
(1)节点流 处理流(过滤流、装饰流)
流是通道,文件和进程是节点。
跟文件相连的流叫节点流,不跟文件相连的叫通道流。
其实都想象成管子就行。
读取数据最终还是读到程序中去,流只是通道而已。
服务器端和客户端都可以建立流,只要两个流的接口名相同,数据就可以传递,也就是所谓连接上了。
节点流:是可以从一个特定的数据源(节点)读写数据的流。(如:文件、内存)
处理流:是“连接”在已经存在的流(节点流或者处理流)之上,通过对数据的处理为程序提供更为强大的读写功能的流。
基础是四个:InputStream OutputStream Reader Writer
节点流的类型:
类型 字符流 字节流
File(文件) FileReader FileInputStream
FileWriter FileOutputStream
Memory Array CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
Memory String StringReader ---
StringWriter ---
Pipe PipedReader PipedInputStream
PipedWriter PipedOutputStream
*****************************************************************************************************************************
处理流的类型:
类型 字符流 字节流
Buffering BufferedReader BufferedInputStream
(缓冲流) BufferedWriter BufferedOutputStream
Filtering FilterReader FilterInputStream
(过滤流) FilterWriter FilterOutputStream
Converting between InputStreamReader
bytes and character OutputStreamWriter
(转换流)
Object --- ObjectInputStream
Serialization --- ObjectOutputStream
(序列化和反序列化)
Data conversion --- DataInputStream
(数据转换流) --- DataOutputStream
Counting LineNumberReader LineNumberInputstream
Peeking ahead PushbackReader PushbackInputStream
Printing PrintWriter PrintStream
*****************************************************************************************************************************
(2)输入/输出流 字节流/字符流(2个字节)
(8bit/16bit)
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
*****************************************************************************************************************************
字节流与字符流主要的区别
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的unicode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理
*****************************************************************************************************************************
java-节点流
1、三种基本类型的节点:
文件、内存和管道(从一个进程或线程式到另外一个进程或线程的通道)
2、
类型 字符流 字节流
文件 FileReader FileInputStream
FileWriter FileOutputStream
内存:数组 CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
内存:字符串 StringReader N/A
StringWriter
管道 PipedReader PipedInutStream
PipedWriter PipedOutputStream
3、这些流处理起来容易出错,提供了一些处理流的一种流,这种流专门处理流,可以一次一行地读取一个流,比如BufferedReader读,BufferedWriter写
1)
FileReader input=new FileReader(args[0]);
BufferedReader bufinput=new BufferedReader(input);
String line;
line=bufinput.readLine();
2)
FileWriter output=new FileWriter(args[1]);
BufferedWriter bufoutput=new BufferedWriter(output);
String line;
line=bufouput.newLine();
bufoutput.write(line,0,line.length);
*****************************************************************************************************************************
java-处理流
1、在另一个流上执行某种类型的转换,也称过滤流,当尝试从过滤输入流对象读数据时,该对象能提供源自其他输入流对象的字符。
2、处理流类型列表
类型 字符流 字节流
缓冲 BufferedReader BufferedInputStream
BufferedWriter BufferedOutputStream
过滤 FilterReader FilterInputStream
FilterWriter FilterOutputStream
字节和字符间转换 InputStreamReader
OutputStreamWriter
执行对象序列化 ObjectInputStream
ObjectOutputStream
执行数据转换 DataInputStream
DataOutputStream
计算 LineNumberReader LineNumberInputStream
向前查看 PushbackReader PushbackInputStream
打印 PrintWriter PrintStream
3、字节与字符转换
1)
字节和字符间转换 InputStreamReader
OutputStreamWriter
转换规则是缺省的平台字符编码字节和UNICODE之间转换,也可以指定如:new InputStreamReader(System.in,"ISO-8859-1")
2)StringReader和StringWriter处理JAVA技术String对象的节点字符流
*****************************************************************************************************************************
送你~\(≥▽≤)/~啦啦啦
祝你好运!!!
常联系。
流的分类:
(1)节点流 处理流(过滤流、装饰流)
流是通道,文件和进程是节点。
跟文件相连的流叫节点流,不跟文件相连的叫通道流。
其实都想象成管子就行。
读取数据最终还是读到程序中去,流只是通道而已。
服务器端和客户端都可以建立流,只要两个流的接口名相同,数据就可以传递,也就是所谓连接上了。
节点流:是可以从一个特定的数据源(节点)读写数据的流。(如:文件、内存)
处理流:是“连接”在已经存在的流(节点流或者处理流)之上,通过对数据的处理为程序提供更为强大的读写功能的流。
基础是四个:InputStream OutputStream Reader Writer
节点流的类型:
类型 字符流 字节流
File(文件) FileReader FileInputStream
FileWriter FileOutputStream
Memory Array CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
Memory String StringReader ---
StringWriter ---
Pipe PipedReader PipedInputStream
PipedWriter PipedOutputStream
*****************************************************************************************************************************
处理流的类型:
类型 字符流 字节流
Buffering BufferedReader BufferedInputStream
(缓冲流) BufferedWriter BufferedOutputStream
Filtering FilterReader FilterInputStream
(过滤流) FilterWriter FilterOutputStream
Converting between InputStreamReader
bytes and character OutputStreamWriter
(转换流)
Object --- ObjectInputStream
Serialization --- ObjectOutputStream
(序列化和反序列化)
Data conversion --- DataInputStream
(数据转换流) --- DataOutputStream
Counting LineNumberReader LineNumberInputstream
Peeking ahead PushbackReader PushbackInputStream
Printing PrintWriter PrintStream
*****************************************************************************************************************************
(2)输入/输出流 字节流/字符流(2个字节)
(8bit/16bit)
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
*****************************************************************************************************************************
字节流与字符流主要的区别
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的unicode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理
*****************************************************************************************************************************
java-节点流
1、三种基本类型的节点:
文件、内存和管道(从一个进程或线程式到另外一个进程或线程的通道)
2、
类型 字符流 字节流
文件 FileReader FileInputStream
FileWriter FileOutputStream
内存:数组 CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
内存:字符串 StringReader N/A
StringWriter
管道 PipedReader PipedInutStream
PipedWriter PipedOutputStream
3、这些流处理起来容易出错,提供了一些处理流的一种流,这种流专门处理流,可以一次一行地读取一个流,比如BufferedReader读,BufferedWriter写
1)
FileReader input=new FileReader(args[0]);
BufferedReader bufinput=new BufferedReader(input);
String line;
line=bufinput.readLine();
2)
FileWriter output=new FileWriter(args[1]);
BufferedWriter bufoutput=new BufferedWriter(output);
String line;
line=bufouput.newLine();
bufoutput.write(line,0,line.length);
*****************************************************************************************************************************
java-处理流
1、在另一个流上执行某种类型的转换,也称过滤流,当尝试从过滤输入流对象读数据时,该对象能提供源自其他输入流对象的字符。
2、处理流类型列表
类型 字符流 字节流
缓冲 BufferedReader BufferedInputStream
BufferedWriter BufferedOutputStream
过滤 FilterReader FilterInputStream
FilterWriter FilterOutputStream
字节和字符间转换 InputStreamReader
OutputStreamWriter
执行对象序列化 ObjectInputStream
ObjectOutputStream
执行数据转换 DataInputStream
DataOutputStream
计算 LineNumberReader LineNumberInputStream
向前查看 PushbackReader PushbackInputStream
打印 PrintWriter PrintStream
3、字节与字符转换
1)
字节和字符间转换 InputStreamReader
OutputStreamWriter
转换规则是缺省的平台字符编码字节和UNICODE之间转换,也可以指定如:new InputStreamReader(System.in,"ISO-8859-1")
2)StringReader和StringWriter处理JAVA技术String对象的节点字符流
*****************************************************************************************************************************
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字节流,顾名思义就是按照一个一个字节去传输,对于字节流而言,它看不到在其内部传输的数据是什么编码,它只认识010101这样构成的字节数据。
字符流,既然叫字符了,肯定有编码了,所以字符流是一种拥有某种格式的数据,这样我们就能安全地用它传输汉字等字符了,当然传英文字符更是可以了。
字节流之所以容易出现乱码,主要是传输的两端对原始数据的编解码格式不一致造成的,与流本身无关,换句话说,并不是流把原本好好的数据弄成乱码了,是程序员在流的接收端拿到数据后,不知道它是什么编码了,就给弄错了。
举个例子,你可以先把一串汉字按照某个字符集解码成010101,即byte[]。然后通过字节流传过去,接收的时候,前提是你已知了它的字符集,那么你就按照当初解码的这个字符集再编码回去,就还原了那一串汉字。
但是你不可能总是预料到对方的编码方式(字符集),所以Java就推出了一个叫字符流的东西,说,既然你们两个都不确认该用什么进行编解码,那就都用我给你们定义的这个东西吧(字符流),你们都用我这个东西,就达成一致了,就不会乱码了。
字符流,既然叫字符了,肯定有编码了,所以字符流是一种拥有某种格式的数据,这样我们就能安全地用它传输汉字等字符了,当然传英文字符更是可以了。
字节流之所以容易出现乱码,主要是传输的两端对原始数据的编解码格式不一致造成的,与流本身无关,换句话说,并不是流把原本好好的数据弄成乱码了,是程序员在流的接收端拿到数据后,不知道它是什么编码了,就给弄错了。
举个例子,你可以先把一串汉字按照某个字符集解码成010101,即byte[]。然后通过字节流传过去,接收的时候,前提是你已知了它的字符集,那么你就按照当初解码的这个字符集再编码回去,就还原了那一串汉字。
但是你不可能总是预料到对方的编码方式(字符集),所以Java就推出了一个叫字符流的东西,说,既然你们两个都不确认该用什么进行编解码,那就都用我给你们定义的这个东西吧(字符流),你们都用我这个东西,就达成一致了,就不会乱码了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所有的字符流最终都是转换为字节流来存储,那么,简单就是所有文件都是字节存储
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询