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. 洛谷P3722 影魔 [AH2017/HNOI2017] 线段树+扫描线

    正解:线段树+扫描线 解题报告: 传送门! 先理解一下这道题,大概是这样儿的: 对于一个点对,如果他们的两端是这段区间的最大值和次大值,那么他们会有p1的贡献 如果他们的两端是最大值和一个非次大值,那 ...

  2. Linux查看访问IP

    Linux查看访问IP https://blog.csdn.net/tojohnonly/article/details/82772323

  3. magento 2.3安装测试数据

    前面我们一步步composer安装Magento2.3,但是没有数据的话各项设置不是很熟悉,所以最好还是安装一下测试数据.下面我们就跟ytkah一起填充数据.假设magento 2.3安装目录是/ww ...

  4. AsyncStorage和Promise配合使用

    代码: AsyncStorage封装 import {AsyncStorage} from "react-native"; class DeviceStorage { //保存数据 ...

  5. what's the 场外交易

    出自 MBA智库百科(https://wiki.mbalib.com/)   什么是场外交易 场外交易是指证券投资机构之间不通过股票交易所,而以电话.电传等方式相互进行的股票交易.           ...

  6. 011-docker-安装-rabbitmq-management:3.7.13

    1.搜索镜像 docker search rabbitmq 2.拉取合适镜像 选择合适tag:https://hub.docker.com/,下载3.7.13 带web管理界面版本 docker pu ...

  7. 【剑指offer】字符串的排列

    一.题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 二.思路: ...

  8. equals和contains的区别

    equals只能判断两个变量的值是否相等.contains常用与集合中判断某个对象是否含有这个元素equals是需要两个对象完全相同才会返回true,而contains是要循环遍历容器里的所有内容后判 ...

  9. vue-自定义全局键盘码

    1.Vue.config.keyCodes.enter=13; //main.js中定义全局 <template> <div> <input v-model=" ...

  10. C语言ini格式配置文件的读写

    依赖的类 /*1 utils.h *# A variety of utility functions. *# *# Some of the functions are duplicates of we ...