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 = ; ByteBuffer buf = ByteBuffer.allocate(capacity); while(inchannel.read(buf) != -){ 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
  用户的当前工作目录

FileChannel的更多相关文章

  1. JAVA NIO FileChannel 内存映射文件

      文件通道总是阻塞式的. 文件通道不能创建,只能通过(RandomAccessFile.FileInputStream.FileOutputStream)getChannel()获得,具有与File ...

  2. JAVA NIO——Buffer和FileChannel

    Java NIO和IO的主要区别 IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 示例: import java.io.FileInputStream; import java.io ...

  3. java filechannel大文件的读写

    java读取大文件 超大文件的几种方法 转自:http://wgslucky.blog.163.com/blog/static/97562532201332324639689/   java 读取一个 ...

  4. SeekableByteChannel 和 FileChannel

    Java7中引入了SeekableByteChannel接口,允许我们定位到文件的任意位置进行读写.注意这里的写,不是新增式的插入,而是覆盖,当然在文件末尾的写,是新增. java.nio.chann ...

  5. java的nio之:java的nio系列教程之FileChannel

    一:Java NIO的FileChannel===>Java NIO中的FileChannel是一个连接到文件的通道.可以通过文件通道读写文件. ===>FileChannel无法设置为非 ...

  6. Java基础知识强化之IO流笔记78:NIO之 FileChannel

    Java NIO中的FileChannel是一个连接到文件的通道.可以通过文件通道读写文件. FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 1. 打开FileChannel 在 ...

  7. java中的拷贝文件FileChannel

    以前用Java拷贝文件,只知道写byte数组循环拷贝,今天知道了可以用FileChannel进行拷贝,上代码: 下边是传统的byte数组拷贝方法 </pre><pre name=&q ...

  8. Flume FileChannel优化(扩展)实践指南

    本文系微博运维数据平台(DIP)在Flume方面的优化扩展经验总结,在使用Flume FileChannel的场景下将吞吐率由10M/s~20M/s提升至80M/s~90M/s,分为四个部分进行介绍: ...

  9. BufferedInputStream,FileInputStream,FileChannel实现文件拷贝

    从上篇文章中知道BufferedInputStream是自带缓冲区的输入流,可以大大减少IO次数,提供效率.下面的例子中实现了用BufferedInputStream与FileInputStream实 ...

  10. Java NIO read/write file through FileChannel

    referee:  Java NIO FileChannel A java nio FileChannel is an channel that is connected to a file. Usi ...

随机推荐

  1. MySQL中死锁(转)

    add by zhj: 总结一下,MySQL有主动和被动两种方式检测死锁. 主动方式:检查锁等待的图,如果有环,那就有死锁,这种情况下,会回滚事务. 被动方式:等待锁超时(即innodb_lock_w ...

  2. 常用的shell脚本(安全方向)

    更多shell脚本参考:https://blog.51cto.com/zero01/2046242 1.拒绝密码撞库攻击的ip shell脚本:实现对登录主机失败10次以上的ip进行拒绝登录 #! / ...

  3. 宝塔Linux面板安装Redis

    宝塔Linux面板安装Redis不会特别麻烦,只要几步就可以实现:1.安装redis服务2.配置redis设置3.安装PHP扩展,下面就随ytkah一起来看看吧 1.首先,我们来安装redis服务,进 ...

  4. 20170811 使用Bootstrap框架写个页面

    采用Bootstrap-table 做的页面. 1. 增加Query 查询功能,涉及Ajax 来加载页面数据吧! <meta charset="UTF-8">  < ...

  5. VS2008生成数据库连接字串

    在写WEB程序的时候~通常需要在Web.config文件的<connectionStrings>节点上写数据库的链接字符串,因为是一串字符代码我们常常需要写在固定的文本里便于下次使用,其实 ...

  6. java取得汉字拼音(pinyin4j)

    jar包:pinyin4j.jar 基本用法: String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重'); 例如“重”字,该方法返回一个 ...

  7. boost生成json

    boost property_tree解析json文件相关文档如下:json_parser.basic_ptree json_parser:read_json(filename, ptree):用于将 ...

  8. Scala数据类型的继承结构

    Scala中,所有的值都是类对象,而所有的类,包括值类型,都最终继承自一个统一的根类型Any.统一类型,是Scala的又一大特点.更特别的是,Scala中还定义了几个底层类(Bottom Class) ...

  9. Lua获取当前时间

    更多好的文章就在 blog.haoitsoft.com,请大家多多支持! local getTime = os.date(“%c”); 其中的%c可以是以下的一种:(注意大小写) %a abbrevi ...

  10. MySql语句常用命令整理---多表查询

    首先第一张表还是我们单表查询之前用到t_employee,我们在另外新建一个表t_dept(部门表)建表命令如下: drop table if exists t_dept; CREATE TABLE ...