java笔记——io流
首先这篇文章还是不错的,可以当目录看看: http://www.introzo.com/jiangwei0910410003/article/details/22376895
然后我按照极客学院上的io教学视频来学的,感觉还不错。
www.introzo.com/course/215.html
while( (l=www.introzo.com(input)) != -1){ osw.write(input, 0, l); //从第0个开始读,一共读l个。 } 亲测,字节的也得这么弄!! 一般来说,字节流读取文件直接上字节数组,缓冲区读大文件(图片,视频等)。字符流主要读写字符文件,一般用FileReader,InputStreamReader打开,用带缓冲区的BufferedReader来包装string来操作。一读直接读一行。写的话printWriter还不错,打印输出,很灵活。
3,缓冲流,不管字节还是字符,最后如果没有把缓冲区写满,可能不会自己向磁盘写出,后面加上flush();强制输出。PrintWriter的构造函数可以指定是否每次都强制输出
4,关闭文件流:先打开,后关闭 5,RandomAccessFile,随机读写文件的类,应用于多线程文件读写,下载,传输,指定内容读写。利用好seek,读写函数很多。 6,apache的commons库,这个有好多io函数,url下载文件,文件复制,文件架操作,文件直接读到string等等,正常写要好多行,人家都给你用静态函数写好了,直接用就行,连对象都不用new。 http://www.introzo.com/proper/commons-io/
下面的原则摘自上面的博客中
(三)Java IO 的一般使用原则 :
一、按数据来源(去向)分类:
1 、是文件: FileInputStream, FileOutputStream, ( 字节流 )FileReader, FileWriter( 字符 )
2 、是 byte[] : ByteArrayInputStream, ByteArrayOutputStream( 字节流 )
3 、是 Char[]: CharArrayReader, CharArrayWriter( 字符流 )
4 、是 String: StringBufferInputStream, StringBufferOuputStream ( 字节流 )StringReader, StringWriter( 字符流 )
5 、网络数据流: InputStream, OutputStream,( 字节流 ) Reader, Writer( 字符流 )
二、按是否格式化输出分:
1 、要格式化输出: PrintStream, PrintWriter
三、按是否要缓冲分:
1 、要缓冲: BufferedInputStream, BufferedOutputStream,( 字节流 ) BufferedReader, BufferedWriter( 字符流 )
四、按数据格式分:
1 、二进制格式(只要不能确定是纯文本的) : InputStream, OutputStream 及其所有带 Stream 结束的子类
2 、纯文本格式(含纯英文与汉字或其他编码方式); Reader, Writer 及其所有带 Reader, Writer 的子类
五、按输入输出分:
1 、输入: Reader, InputStream 类型的子类
2 、输出: Writer, OutputStream 类型的子类
六、特殊需要:
1 、从 Stream 到 Reader,Writer 的转换类: InputStreamReader, OutputStreamWriter
2 、对象输入输出: ObjectInputStream, ObjectOutputStream
3 、进程间通信: PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4 、合并输入: SequenceInputStream
5 、更特殊的需要: PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader
相关文章
- 10-05 Numpy.frompyfunc() 将计算单个值
- 10-05 C语言·删除数组第0个元素
- 10-05 (2)NumPy库初识(数组运算和运算)
- 10-05 什么是手机副卡
- 10-05 副手机卡可以独立吗?
- 10-05 手机主卡可以查询副卡的哪些信息
- 10-05 如何修复 WINDOWS 11/10 中磁盘空间使
- 10-05 4 款最佳 Windows 11 声卡可供选择
- 10-05 如何在 Windows 10/11 上加速 Goo
- 10-05 什么是增值电信服务
- 10-05 电信卡的定向流量包括哪些软件?
- 10-05 电信app叫什么名字
- 10-05 什么是独立显卡直连?
- 10-05 独立显卡直连是什么意思?
- 10-05 为什么复制密码后打开淘宝不弹出弹窗?
- 10-05 PHP提高培训学校_php软件培训中心
- 10-05 vs创建项目跳回创建窗口_vs2017创建项目无法
- 10-05 vs2022c20_vs2022新特性
- 10-05 c++builder2006_C++Builder
- 10-05 Keil破解过期了_成功破解keil是什么样子的
- 最近发表