java中IO的一些细节的复习
来源:互联网 发布:seo的相关术语 编辑:程序博客网 时间:2024/05/23 19:14
Java的高级部分
Skip表示跳过流中多少个字节后进行读取,available表示可以从当前流中不受阻碍的读取的字节数,(加入网络流中有人往里面输入了30个字节,那么我们的读取流就可以从中读取的不受阻碍的字节数就是30),mark就是为我们的流中设置一个标志,mark(int readlimit)readlimit参数表示可以从标志处往后读取的字节数,mark一般与reset一起结合使用,reset表示重新回到我们标志处进行流中数据的读取,markSupported()表示是否可以进行标志的设置,close关闭流,我们竟然有了垃圾回收机制,那么我们为什么还需要对流进行关闭?其实当我们打开一个流的时候,我们的java程序就建立了一个实例对象,而且我们的操作系统其实也建立一个关于流的对象,我们的垃圾回收机制只是负责我们的java实例对象的回收,并不能对我们的操作系统的里面的资源进行回收,所以为了节省内存空间,我们最好自己回收操作系统里面建立的流对象,skip、mark、reset这些方法并不能在字节流中使用,只能够在包装流才能够使用
这里需要提示的是:我们每次调用输出流的时候,我们最好调用一下flush,把输出流给刷出去,这样可以避免有些数据可能停留在内存缓存区中,而没有刷到IO设备中去。但是我们又想到另外一个问题,我们用flush刷出去,为什么不直接关闭(close)关闭这个输出流呢?关闭输出流也可能把数据直接给刷出去。
这里需要注意的一点是:在java中所说的输入、输出都是相对于应用程序而言。
这是管道流,用于在两个线程之间的数据的读取和写入
字符编码
字节是计算机最底层的,一般不会涉及编码方式,只有当字节构成的字符的时候,才会存在编码的。所以我们的inputStream、outputStream是不涉及编码的,只有reader、writer、string这些字符才会涉及到编码
BufferedWriter里面有一个newLine这是一个换行符,可以针对任何类型的操作系统的换行符。非常方便。
因为inputStreamReader、outputStreamWriter这两个类都会读、写一个字节就会把字节转换成一个字符,这样就会频繁的处于转换中。不好。
在java程序中可以用Process类的实例对象来表示子进程,子进程的标准输入和输出不在连接到键盘和显示器,而是以管道流的形式连接到父进程的一个输出流和输入流对象上-à好好理解这句代码就能看懂那个程序。
- java中IO的一些细节的复习
- java关于网络编程的一些细节的复习
- 复习java 总结的一些小细节(一)
- java的IO复习
- java开发中注意的一些细节
- 【IO流一些小细节】IO流中一些方法的使用
- Java的一些细节
- java的一些细节!
- Java IO包的复习
- JAVA中IO复习
- linux 文件IO和标准IO的一些实现细节
- java Eclispe的一些细节
- java的一些细节问题!
- JAVA的一些细节备忘
- java程序在cmd中运行的一些细节
- Java类中继承、接口实现的一些细节
- Java中字符串拼接的一些细节分析
- Java中split()函数的用法及一些注意细节
- GCC中文手册
- (莱昂氏unix源代码分析导读-42) 硬链接
- 【集合】重构自己的ArrayList
- 什么样的学计算机能找到好工作
- Galaxy S III:每天售出19万台 总销量破1000万
- java中IO的一些细节的复习
- char 转wchar_t 及wchar_t转char
- html转义符 xsl转义符
- Hdu-2993斜率优化
- 5.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:服务端domain
- recently work life
- Android动画中的fillBefore和fillAfter属性
- Android源码下载并绑定到Eclipse中
- 学计算机的值得一看的文章,跟帖也很有水平