文档章节

Java I/O系统

weslie
 weslie
发布于 2015/06/29 13:41
字数 416
阅读 21
收藏 0

1、File类

       File类可以代表一个特定文件的名称,也可以代表一个目录下的一组文件的名称,这时我们可以通过 list( )方法来获取这个文件集,返回一个字符串数组,实际上FilePath(文件路径)对这个类来说是个更好的名字。

2、InputStreamReader可以把InputStream转换为Reader,而OutputStreamWriter可以把OutputStream转换为Writer。

设计Reader和Writer继承层次结构主要是为了国际化。老的I/O流继承层次结构仅支持8位字节流,并且不能很好地处理16位的Unicode字符。由于Unicode用于字符国际化(Java本身的char也是16位的Unicode),所以添加Reader和Writer继承层次结构就是为了在所有的I/O操作中都支持Unicode。

3、在某些场合,面向字节的InputStream和OutputStream才是正确的解决方案,特别是java.util.zip类库就是面向字节的而不是面向字符的。

4、无论我们在何时使用readLine(),都不应该使用DataInputStream(这会遭到编译器的强烈反对),而应该用BufferedReader。除了这一点外,DataInputStream仍是I/O类库的首选成员。


1、文件复制(二进制)

//文件复制
public class Demo1 {
	public static void main(String[] args) throws Exception {
		InputStream is = new FileInputStream("d:\\c2.jpg");
		OutputStream os = new FileOutputStream("d:\\复件c2.jpg");
		byte[] buf = new byte[1024];//字节容器
		int len = 0;//容器中存在的字节的数量
		while((len=is.read(buf))>0){//当容器中的字节数量大于0时
			os.write(buf,0,len);//从第0个字节开始读一直读到最后一个字节
		}
		is.close();
		os.close();
	}
}


 


 

© 著作权归作者所有

上一篇: JAVA容器
下一篇: Log4J
weslie
粉丝 1
博文 51
码字总数 80088
作品 0
虹口
程序员
私信 提问
漫话:如何给女朋友解释什么是BIO、NIO和AIO?

周末午后,在家里面进行电话面试,我问了面试者几个关于IO的问题,其中包括什么是BIO、NIO和AIO?三者有什么区别?具体如何使用等问题,但是面试者回答的并不是很满意。于是我在面试评价中写...

漫话编程
07/01
505
0
Java 7 技术的新纪元

预计于今年秋天将最终发布的 Java 平台最新更新意义重大且倍受期待。虽然尚未通过 Java Community Process (JCP) 正式创建 Java 7 平台 Java Specification Request (JSR),并且最终特性集仍...

红薯
2010/06/07
595
2
甲骨文推出Oracle嵌入式Java ME 3.3

  【IT168 资讯】快速增长的物联网(IoT)推动了企业对开放的跨产业平台的需求,以期缩短产品上市时间、降低管理成本,并为嵌入式设备提供新功能。甲骨文此次推出了最新的嵌入式Java ME平台O...

作者:IT168技术开发频道
2013/07/24
0
0
Java FileInputStream

一、序言 IO操作,才程序中比较普遍,JAVA 中提出了IO/NIO 的概念,也一直在说NIO 比IO快,一直不知道原因,就想memcache 和ehcache 比较优劣一样,这些东西得自己看看如何实现的,才 知道区...

pczhangtl
2014/08/03
178
0
使用jni接口完成android本地程序的运行

最近在开发android相关的程序。可惜啊,android的开发接口都是基于java的,作为一个c开发者,于是我想开发一个c程序,然后想法root掉那个手机,然后使用adb工具将程序拷贝到手机里就可以运行...

晨曦之光
2012/04/10
485
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 你已经是个成熟的熊猫了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @Sharon啊 :#今日歌曲推荐# 分享黑鸭子的单曲《羞答答的玫瑰静悄悄的开》 《羞答答的玫瑰静悄悄的开》- 黑鸭子 手机党少年们想听歌,请使劲儿...

小小编辑
40分钟前
165
6
结合Spring Security进行web应用会话安全管理

在本文中,将为大家说明如何结合Spring Security 和Spring Session管理web应用的会话。 一、Spring Security创建使用session的方法 Spring Security提供4种方式精确的控制会话的创建: alwa...

fightinging
46分钟前
4
0
83、Mybatis和Hibernate重要区别

Mybatis;入门简单,程序容易上手开发,节省开发成本。Mybatis需要程序猿自己编写sql语句,是一个不完全的ORM框架,对sql修改和优化非常容易实现。 Mybatis适合开发需求变更频繁的系统,比如...

lianbang_W
今天
6
0
设计模式之状态模式

定义 Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改...

陈年之后是青葱
今天
6
0
Python常用模块之os.path

os.path.abspath(path) 输入相对路径,返回绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32Type "copyright", "credits" or "lic......

松鼠大帝
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部