-
main throws IOException 回避掉Exception 不处理查看全部
-
ggggggggg查看全部
-
为何与0xff进行与运算 http://blog.csdn.net/tinna_zhang/article/details/44414747查看全部
-
EncodeDemo查看全部
-
单听已经没感觉了,类的使用看API就OK了,当然,自己能体会到到少还要看自己练习了多少。 FileReader/FileWriter 字符流的过滤器 BufferedReader ---->readLine 一次读一行 BufferedWriter/PrintWriter ---->写一行查看全部
-
嗯,对应的类的API还是要一个个好好的研究一下的,其中需要注意的是: 1:字符集编码的问题,如果字节的编码和字符的编码不一致,在转换的过程中可能会出现乱码的现象。 2:写文件时注意参数,如果参数或者方面没用对,可能会出现追加的效果,当然,这些在实际的开发中估计不会犯类似的错误,即使犯了也容易发现和修正。查看全部
-
学习字符流之前首先应该了解的一些问题:<br> 1) 编码问题——不同的字符集有不同的编码,对应着不同的字节编码规则<br> 2)认识文本和文本文件<br> java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)<br> 文件是byte byte byte ...的数据序列<br> 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果<br> 3)字符流(Reader Writer)---->操作的是文本文本文件<br> 字符的处理,一次处理一个字符<br> 字符的底层任然是基本的字节序列<br> 字符流的基本实现<br> InputStreamReader 完成byte流解析为char流,按照编码解析<br> OutputStreamWriter 提供char流到byte流,按照编码处理 <br> <br> 1:从流的内容的特点上来讲,字符流,就是由字符组成的流<br> 2:字符对于人类而言是易识别的,不同的字符集有不同的字符,为不同的地区范围内的人类使用,当然有些字符在好多地区存在的形式是一致的,比如:0、1、2、3、4、5、6、7、8、9等,但是对于计算机而言,他还是比较容易识别字节,而字节是字符的组成成分,不同的字符集,如果拥有同样的字符,他的字节编码基本是不同的。<br> 3:计算机处理字符的底层也是以处理字节的方式来处理的。 4:java的字符,采用双字节编码,也就是Unicode编码,每一个字符有两个字节组成,表现成字节编码的形式的话就是十六位无符号整数 而java中的文件或者是操作系统中的文件,是一个个字节编码的数据序列 java的文本文件字符序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果,其本质还是字节的序列。所以,在java中对于字符流的操作本质上还是对于字节流的操作。查看全部
-
BufferedInputStream&BufferedOutputStream<br> 这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能。<br> 假如从应用程序中把输入放入文件,相当于将一缸水倒入到另一个缸中:<br> FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去<br> DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移”过去<br> BufferedOutputStream--->write方法更方便,相当于一飘一瓢先放入桶中,再从桶中倒入到另一个缸中,性能提高了<br> <br> 注意:使用BufferedOutputStream,在每一次写入后,缓冲区要刷新,不然写不到文件中去。 同样的功能会出现多种支持,说明他们之间有一定的差异性,按照人类利用工具解决问题的思路来看,工具首先是能实现相应的功能,然后使用起来更加的顺手,最后的追求就是使用起来要非常有效率。这里也同事反映出了人类讲一个东西弄复杂的一个过程,当然,同事也折射出人类解决问题的基本思路,和制造麻烦或者工具大概是一个相逆的过程,人类会将问题分解,一个一个的解决,如果还是解决不了就会继续分解,知道能解决为止。查看全部
-
DataOutputStream/DataInputStream 对"流"功能的扩展,可以更加方编的读取int,long,字符等类型数据 DataOutputStream writeInt()/writeDouble()/writeUTF()查看全部
-
输入、输出是相对于字节流或者字符流而言的: 1:输入,是将字节或者字符从文件中输入到流中 2:输出,是将字节或者字符从流中输出到文件中 我们可以将文件想象程容器,将文件的内容(字节或者字符)想象程水,我们这里学习的JAVA对象就像是管道一样,并且能够控制从水池里获取水形成输入流,也可以将水注入到水池中形成输出流。查看全部
-
读文件的方式 1:单字节读取,不适合大文件 2:批量字节读取,适合大文件的读取,比较常用,当然,一次控制读取多少字节,要适中一般是1024的倍数查看全部
-
对于文件必然有读和写的操作,读和写就对应了输入和输出流,流又分成字节和字符流。<br> 1:从对文件的操作来讲,有读和写的操作——也就是输入和输出<br> 2:从流的流向来讲,有输入和输出之分<br> 3:从流的内容来讲,有字节和字符之分 操作文件的时候关键点在于: 1:如何拿到过文件——构建文件输出流 2:如何开始读文件 3:如何判断文件已经结束了 4:读文件的过程中如果想做一些特殊处理,怎么来处理,另外,就是不同的字符编码集,读取的时候需要使用适合的字符编码集来转换程对应的字符。查看全部
-
请问为什么把byte字节数组的元素b转化为16进制 需要&0xff 答:在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误的发生。 [ 查看全文 ] 6天前查看全部
-
本次课程主要是讲解了RandomAccessFile类的读写的过程,具体使用的时候看相关的API就OK了,关键是要明白整个读写的流程,以及RandomAccessFile类的使用特点。 感谢老师的讲解。 RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。 RandomAccessFile支持随机访问文件,可以访问文件的任意位置 (1)java文件模型 在硬盘上的文件是byte byte byte存储的,是数据的集合 (2)打开文件 有两种模式"rw"(读写) "r"(只读) RandomAccessFile raf = new RandomeAccessFile(file,"rw") 文件指针,打开文件时指针在开头 pointer = 0; (3) 写方法 raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 (4)读方法 int b = raf.read()--->读一个字节 (5)文件读写完成以后一定要关闭(Oracle官方说明)查看全部
-
关键在于思路,代码的编写需要自己领会,自己能想明白,使用代码实现就易常简单了。查看全部
举报
0/150
提交
取消