FileChannel

1, FileChannel 虚拟类,不可以直接实例化,可以通过FileInputStream  FileOutputStream 获取

例:文件的复制

public class ChannelDemo {
    public static void main(String[] args) throws Exception {
        
        FileInputStream fis = new FileInputStream("C:/Users/caich5/Desktop/qms-mes.txt");
        
        FileOutputStream fos = new FileOutputStream("C:/Users/caich5/Desktop/outchannel11.txt");
        
        FileChannel inchannel = fis.getChannel();
        
        FileChannel outchannel = fos.getChannel();
        
        int capacity = 10000;
        
        ByteBuffer buf = ByteBuffer.allocate(capacity);
        
        
        while(inchannel.read(buf) != -1){
            
            buf.flip();
            
            outchannel.write(buf);
            
            buf.clear();
            
        }
    }

}

 

2,另一种写法,不用FileInputStream 和 FileOutputStream 获取channel,写法如下:

        ByteBuffer buf = ByteBuffer.allocate(1000);
        
        Path inpath = Paths.get(System.getProperty("user.dir")+"/stack");
        
        Path outpath = Paths.get(System.getProperty("user.dir")+"/outstack");//必须在指定位置新建此文件(文件不存在,FileOutputStream可以新建,用路径的写法不可以)
        
        FileChannel inchannel = FileChannel.open(inpath, StandardOpenOption.READ);
        
        while(inchannel.read(buf)!= -1){
            
            buf.flip();
            
            FileChannel outchannel = FileChannel.open(outpath, StandardOpenOption.WRITE);
            
            outchannel.write(buf);
            
            buf.clear();
            
        }

 3, System.getProperty("属性名")方法的使用
   java.version
  Java 运行时环境版本
  java.vendor
  Java 运行时环境供应商
  java.vendor.url
  Java 供应商的 URL
  java.home
  Java 安装目录
  java.vm.specification.version
  Java 虚拟机规范版本
  java.vm.specification.vendor
  Java 虚拟机规范供应商
  java.vm.specification.name
  Java 虚拟机规范名称
  java.vm.version
  Java 虚拟机实现版本
  java.vm.vendor
  Java 虚拟机实现供应商
  java.vm.name
  Java 虚拟机实现名称
  java.specification.version
  Java 运行时环境规范版本
  java.specification.vendor
  Java 运行时环境规范供应商
  java.specification.name
  Java 运行时环境规范名称
  java.class.version
  Java 类格式版本号
  java.class.path
  Java 类路径
  java.library.path
  加载库时搜索的路径列表
  java.io.tmpdir
  默认的临时文件路径
  java.compiler
  要使用的 JIT 编译器的名称
  java.ext.dirs
  一个或多个扩展目录的路径
  os.name
  操作系统的名称
  os.arch
  操作系统的架构
  os.version
  操作系统的版本
  file.separator
  文件分隔符(在 UNIX 系统中是“/”)
  path.separator
  路径分隔符(在 UNIX 系统中是“:”)
  line.separator
  行分隔符(在 UNIX 系统中是“/n”)
  user.name
  用户的账户名称
  user.home
  用户的主目录
  user.dir
  用户的当前工作目录

posted @ 2018-10-10 09:30  Chris,Cai  阅读(397)  评论(0编辑  收藏  举报