java Memorymapfile demo

String lineseperator = java.security.AccessController .doPrivileged(new sun.security.action.GetPropertyAction( "line.separator"));

Access restriction: The constructor ‘GetPropertyAction(String)‘ is not API

Access restriction on class due to restriction on required library rt.jar?

  1. Go to the Build Path settings in the project properties.
  2. Remove the JRE System Library
  3. Add it back; Select "Add Library" and select the JRE System Library. The default worked for me.
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.CharBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels.FileChannel.MapMode;

public class memorymapfiledemo {
    final static String filepath = "/home/hadoop/test/java.txt";

    public static void main(String[] args) throws IOException {
        writefile(filepath);
        readfile(filepath);
    }

    static void writefile(String _filepath) throws IOException {
        File _file = new File(_filepath);
        RandomAccessFile raf = new RandomAccessFile(_file, "rw");
        FileChannel fc = raf.getChannel();
        int buffersize = 1024 * 8;
        CharBuffer cb = fc.map(MapMode.READ_WRITE, 0, buffersize)
                .asCharBuffer();
        String lineseperator = java.security.AccessController
                .doPrivileged(new sun.security.action.GetPropertyAction(
                        "line.separator"));
        String content = "";
        long offset = 0;
        for (int i = 1; i <= 1000; i++) {
            content = "Line" + i + " hello java" + lineseperator;
            if ((cb.limit() - cb.position()) < content.length()) {
                offset += cb.position();
                cb = fc.map(MapMode.READ_WRITE, offset, buffersize)
                        .asCharBuffer();
            }
            cb.put(content);
        }
        fc.close();
        raf.close();
    }

    static void readfile(String _filepath) throws IOException {
        File _file = new File(_filepath);
        RandomAccessFile raf = new RandomAccessFile(_file, "rw");
        FileChannel fc = raf.getChannel();
        long totalsize = fc.size();
        int buffersize = 1024 * 8;
        long offset = 0;
        CharBuffer cb = fc.map(MapMode.READ_ONLY, 0, buffersize).asCharBuffer();
        while (offset < totalsize) {
            while (cb.hasRemaining()) {
                System.out.print(cb.get());
            }
            offset += cb.position();
            cb = fc.map(MapMode.READ_ONLY, offset, buffersize).asCharBuffer();
        }
        fc.close();
        raf.close();
    }
}
时间: 2024-10-12 18:06:25

java Memorymapfile demo的相关文章

java迭代器demo

package cn.aust.zyw.demo; import java.util.Iterator; /** * Created by zyw on 2016/2/16. * Iterator模式是用于遍历集合类的标准访问方法. * 它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构. * Store类继承Iterable接口,利用自定义的hasNext(),next() * 输出数组a的元素. */ public class TestIterable { pu

openstack4j a java sample demo

This is  A sample Demo package edu.hnu.lost.openstack.test; import java.util.List; import javax.ws.rs.client.Entity; import org.openstack.common.client.AbstractOpenStackClient;import org.openstack.keystone.KeystoneClient;import org.openstack.keystone

JAVA EE Demo[购物商城 Strust2]

为了搞定作业,我开始了J2EE的Strust2框架实现一个简单的商城Demo 先创建Java Web Service项目.添加JDBC驱动,导入Strust2框架得到这个: 啧啧.既然是购物商城我们继续沿用上篇文章的结构,欢迎页+商城物品列表+购物车+登录 ,则很明显我们需要一个导航栏 创建一个导航栏:head.html 这样我们以后就可以利用JSP标签将这个导航栏嵌入到任何需要的界面了 而导航栏的内容包括欢迎页 商城物品列表 购物车 登录 登出 这些选项 这个时候弄完这个先得到以下: 然后我们

solr环境搭建及java小demo

一配置solr环境 1.下载solr 2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful/p/6746341.html) a.在下载的solr文件夹下的\example\solr\下将文件全部考到一个文件夹中(本人是放在E:\MySoft\solr\home中的) b.初始化solr实例 在solr解压路径的\example\webapps\路径下有一个solr.war,将其复制到to

转: java web demo的示例

http://quqtalk.iteye.com/blog/360699 从事Java开发已经两年了,但是由于工作的关系,对Java Web还是个freshman.今天做了一个Java Web的简单Demo,对这个Demo的总结如下. 环境: JDK:1.5.0_12-b04 Tomcat:apache-tomcat-6.0.18 MySQL:mysql-5.1.32-win32 这些软件可以从各自的官方网站上下载得到. Demo制作过程: (1)在Tomcat中配置MySQL数据源. 修改$C

Java Design Demo -简单的队列-异步多任务队列(java android)

简单的单线程队列 -- 工作的时候遇到劣质打印机.给打印机发消息,打印机就会打印,如果在打印机还在打印的时候,就 再发消息打印,就会出现消息丢失.所以需要给上一个任务一些处理的间隔时间. 单线程的消息队列示例 [java] view plaincopyprint? package demo1; import java.util.LinkedList; public class Main { /** * @param args */ private static Thread thread; pr

微博开发平台java SDK demo学习之friendships

本文解释了在java SDK的demo中与feiendships有关的功能 截图如下: 关注一个用户(需要知道该用户uid) 取消关注一个用户(用户uid) 获取用户粉丝列表(授权用户的screen__ame),最多返回粉丝的30%,上限为500 获取用户粉丝列表(授权用户的uid),最多返回粉丝的30%,上限为500 获取用户粉丝uid列表(授权用户的uid),最多返回粉丝的30%,上限为500 获取用户活跃粉丝列表(授权用户的uid),最多返回粉丝的30%,上限为500 获取用户双向关注的用

FastDFS单机搭建以及java客户端Demo

http://blog.csdn.net/u012453843/article/details/69951920 http://blog.csdn.net/xyang81/article/details/52847311 http://blog.csdn.net/kingboyworld/article/details/52299602 参考了这几个搭建了FastDFS文件系统 主要是fastDFS,nginx,以及在nginx中加入fastDFS模块:这里只有一台服务器,所以搭建的是单机版的.

怎么使用java官方demo?

//官方的例子在质量上是有保证的,而各种教程和文档又局限于个人阅读和理解力. 进入jdk官网--- 找download,,,下滑鼠标----找到如: JDK 8 Demos and Samples 点击下载,, 解压进入,比如:jdk-8u131-windows-x64-demos\jdk1.8.0_131\demo\javafx_samples,选择一个.jar右键JVM运行即可 运行之后----点击相应的小例子, 怎么找到源码呢?左侧有个VIEW RESOURCE,点进去就是了,,