zoukankan      html  css  js  c++  java
  • java NIO代码演示三种流

    package com.test;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.nio.ByteBuffer;
    import java.nio.channels.FileChannel;
    
    public class GetChannel1 {
        private static int BSIZE = 1024;
    
        public static void main(String[] args) throws Exception {
            GetChannel1 getChannel1 = new GetChannel1();
            getChannel1.writeFile("file.txt", "hello,");
            getChannel1.addToFile("file.txt", "world");
            getChannel1.readFile("file.txt");
        }
    
        public void readFile(String fileName) throws IOException {
            FileChannel fc = new FileInputStream(fileName).getChannel();
            ByteBuffer buff = ByteBuffer.allocate(BSIZE);
            fc.read(buff);
            /**
             * Flips this buffer. The limit is set to the current position
             *  and then the position is set to zero.
             *   If the mark is defined then it is discarded. 
                After a sequence of channel-read or put operations, 
                invoke this method to prepare for a sequence of channel-write 
                or relative get operations. 
             */
            buff.flip();
            /*
             * Tells whether there are any elements between the current position and the limit.
             */
            while (buff.hasRemaining()) {
                System.out.print((char) buff.get());
            }
            fc.close();
        }
    
        // 向文件中增加内容
        public void addToFile(String fileName, String content) throws IOException {
            FileChannel fc = new RandomAccessFile(fileName, "rw").getChannel();
            fc.position(fc.size());
            fc.write(ByteBuffer.wrap(content.getBytes()));
            fc.close();
    
        }
    
        // 写文件
        public void writeFile(String fileName, String content) throws FileNotFoundException, IOException {
            FileChannel fc = new FileOutputStream(fileName).getChannel();
            fc.write(ByteBuffer.wrap(content.getBytes()));
            fc.close();
        }
    }
  • 相关阅读:
    Golang之ring.Ring的Link操作
    Servlet3.0新特性之web-fragment.xml模块化配置文件
    使用filter代替jsp获取参数
    数据库中常用的字符串截取函数-总结
    js判断两字符串是否相等不区分大小写
    java读取excle内容(类似表结构)
    postgreSQL数据库分页查询
    3D轮播图案例
    3D立方体案例
    去除HTML双击背景和input框取消输入颜色
  • 原文地址:https://www.cnblogs.com/zhaoran8775/p/5798389.html
Copyright © 2011-2022 走看看