1. java IO 字节流和字符流的具体读写
FIleInputStream读取的是字节,想要显示,通过Steing的构造方法new String(字节数组,0,读取多少个);字符读取出来的是字节码,是整形,你直接转换成字符,那他就会当成ascii码转换,所以是乱码,你可以这么去理解,你读取出来的字符是占2个字节的,而数字或字母是一个字节,当要读取中文的时候,他返回的是一个int的值,而这个值只是一个字节的ascii的值而已,但是中文是两个字节,他就只读取了这个中文的一半,所以你用这一半的ascii去转换成字符,当然是乱码了,但是读取的是字母或者数字的话,那么只占一个字节,当然读取出来的就是一个ascii码,所以转换出来还是同样的字符
2. java io字符流和字节流的区别及应用
其实就是字节与字符的区别。file****stream不能正确的将字节转换为字符。
你不需要纠结原因,这是java
1.0的io设计问题。在java编程思想这本书里面有解释。
你只需要记住一点:读取的时候用filereader去读。
纯手打,请采纳。
3. java IO 把字符输出到文本末尾。
OutputStream out = new FileOutputStream("test.txt",true) ; //其中"test.txt"的部分应该是你test文件的路径
String str = "cc" ; //创建要输出到文件的字符
byte b[] = str.getBytes() ; //由于是字节流,要转换类型到byte
out.write(b) ; //输出
out.close() ; //关闭流
//当然也可以用字符流
4. java io 读入文件 怎么过滤特殊字符
可考虑将文件装换为流来处理,或者将文件读取到的字符串转换为byte数组来处理
以byte单位,
根据byte的范围来确认是否是特殊字符,替换为空字符。
或者使用正则匹配文件读取到的字符串,替换为空字符。
5. 关于java IO流的问题 为什么一直提示转义字符错误
一,先来看看转义字符的概念:通过 \ ,?来转变后面字母或符号的含义。意思就是改变字母本身的含义。
举一些例子:
\b:退格
\n:换行
\t:制表符,相当于tab键
\r:回车
\\:表示反斜杠
\':表示单引号
\":表示双引号
二,转义字符的使用:
以"\"符号为例,JAVA中有很多操作,例如文件操作等,需要用到路径这个东西,比如:com\mypackage\xxx.xml,这个路径一般是以字符串形式表示的,但问题来了,JAVA不知道你的\号到底是路径中的下一层的意思,还是字符串"\"的意思。
所以正确的写法应该是com\\mypackage\\xxx.xml。
又例如我们熟悉的\n,换行符,如果在字符串中间直接按回车,java是不会对字符串做换行操作的,因为他不知道你想将代码分两行写还是字符串分两行显示,这时候就需要在字符串中间加上\n转义字符来将字符串换行。
总之,转义字符的意义就是避免出现二义性,二义性是所有编程语言都不允许的。
6. java.IO字符拷贝已经达到目的,但是报错
上面的错误很明显了,说的是数组越界,为什么呢?因为你写的第19行中:
这句话的意思就是说,如果没有东西需要读取了,就会返回-1,建议您多查看源代码哦
7. java io流中的字节流和字符流有什么区别,该如何去选择使用哪一个
一句话概括:字节流是由字节组成的,字符流是由字符组成的.Java里字符由两个字节组成.
扩展:字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
补充:实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。
8. java IO输入输出流中的各种字节流,字符流类,我需要都记住吗,还是只要记住几个常用的呢
记住几个常用的就行了, 一般也就是用几个常用的。
字节流
字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是
·字节输出流:OutputStream
·字节输入流:InputStream
字符流
在程序中一个字符等于2个字节,那么java提供了Reader、Writer两个专门操作字符流的类。
·字符输出流:Writer
·字符输入流:Reader
字节-字符转换流
OutputStreamWriter和InputStreamReader
在整个IO包中,实际上就是字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类。
[java] view plainprint?
•OutputStreamWriter:是Writer的子类,将输出的字符流转换为字节流。即:将一个字节流的输出对象变为字节流的输出对象
•InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。
9. java io字符流和字节流的区别
字节流是用来处理字节的输入和输出的,各种数据都可以用字节来表示,包括数字数据、程序和字节码等。
字符流是用来处理字符的输入和输出的,它只处理文本化的数据,任何涉及文本的数据类型都应该使用字符流,包括文本文件、网页以及其他的文本类型。