Java 7新特性(三) ——更多NIO APIs
JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:
◆不支持符号链接(symbolic links )
◆不支持简单移动和拷贝操作
◆目录漫游和过滤API非常复杂
◆对文件属性和访问权限的支持非常有限
◆没有查看目录或文件的API
◆有限的错误处理功能
幸运的是,JSR 203不仅改进了以上所有缺点,而且实现了更多功能。这个API从一开始就设计为具备可扩展性,除了支持默认文件系统外,还支持嵌入式文件系统,还具有诸多灵活选项设置,可以实现诸如打开和拷贝文件、系统属性定义等操作。
Listing 2演示了JSR 203是如何被用来实现一些通用操作。Path是这个API的核心;你可以把它看作新建文件。
Listing 2
import java.nio.file.*;
// FileSystems -> FileSystem -> Path
FileSystem fileSystem = FileSystems.getDefault();
Path homeDir = fileSystem.getPath("/Users/lskywalker");
// Shortcut with Paths helper class
Path homeDir = Paths.get("/Users/lskywalker");
Path secrets = homeDir.resolve("secrets.txt");
// Steal secrets
secrets.moveTo(Paths.get("/Users/dvader/secrets.txt"));
除了文件系统API外,JSR 203还实现了许多在第一版NIO中提出的API,提供了对组播的更多支持,提供了在Socket和文件上进行异步I/O操作的API。
相关文档:
在 Java 5 环境中,如果用类A去实现接口B (A implements B),在 Java 5 的平台下,A 实现的方法名前是不能添加 @Override 标记的,否则会报如下图所示的错误提示而无法编译:
{{----}}16172
经过尝试和总结,得出下表。
Version
Java 5
Java 6
超类型是 interface,子类型重写的方法能否添加@Override 标记
否
是
......
java clone
文章分类:Java编程 关键字: java clone
1.java里的clone分为:
A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。
Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要 ......
首先boolean不能跟其他类型转换。
1.赋值时:
整数默认的是int 浮点默认是double,即整型等号右侧全部自动转化为int,浮点型等号右侧自动转换为double。当大容量的数据类型赋值给小容量的数据类型时 需要强制类型转换但是有 ......
计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);/ ......
package com.navinfo.mygim.admin.util;
/*
* Pinyin.java
* vicbay
*/
public class Pinyin{
private String[] name = { "zuo", "zun", "zui", "zuan", "zu", "zou",
"zong", ......