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. js中值的基本类型与引用类型,以及对象引用,对象的浅拷贝与深拷贝

    js有两种类型的值:栈:原始数据类型(undefinen,null,boolead,number,string)堆:引用数据类型(对象,函数和数组)两种类型的区别是:储存位置不同,原始数据类型直接存储 ...

  2. $(this) 和 this 关键字在 jquery 中有何不同?

    $(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用 val() 获取值等等. 而 this 代表当前元素,它是 javascrip ...

  3. python练习题-day3

    1.有变量name="aleX leNb" 1)移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip()) 2)移除name变量左边的" ...

  4. Machine Learning in action --LogisticRegession 逻辑回归

    本系列主要参考<机器学习实战>,使用python3编译环境,实现书中的相关代码. 1.基本算法 关于梯度上升算法和随机梯度上升算法的选择: 当数据集较小时,使用梯度上升算法: 当数据集较大 ...

  5. 并发编程---互斥锁---互斥锁与join的区别

    互斥锁 互斥锁:就是把多个进程并发,修改成一块共享数据的操作变成串行,保证是一个一个来修改的. 缺点:效率低,加锁过程复杂 优点:增加了安全性 from multiprocessing import ...

  6. 008-docker-安装-tomcat:8.5.38-jre8

    1.搜索镜像 docker search tomcat 2.拉取合适镜像 查询tags:https://hub.docker.com/ docker pull tomcat:8.5.38-jre8 d ...

  7. 向数据库中添加数据,通过se16 不能添加,通过 代码可以添加的原因

    1:  在向数据库中添加数据时,通过客户端se16 准备对 数据表进行添加数据,提示如下: 找了以下原因,如下: https://www.baidu.com/link?url=3yRtAfY1_9XG ...

  8. 对 data属性的使用之一

  9. SQL数据库存储过程

    添加修改 create PROCEDURE sp_insert_1(pid int,pname varchar(200),page varchar(200),pscore int,out code i ...

  10. Http 服务 简单示例

    现在我们实现一个GO的Web http服务 只做演示,没有实际功能 但是能看出Go做Http服务的简洁 **************************************** package ...