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?
- Go to the Build Path settings in the project properties.
- Remove the JRE System Library
- 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();
}
}
java Memorymapfile demo的更多相关文章
- 微信公众号Java接入demo
微信公众号Java接入demo 前不久买了一台服务,本来是用来当梯子用的,后来买了一个域名搭了一个博客网站,后来不怎么在上面写博客一直闲着,最近申请了一个微信公众号就想着弄点什么玩玩.周末没事就鼓捣了 ...
- Kafka2.4发布——新特性介绍(附Java Api Demo代码)
新功能 允许消费者从最近的副本进行获取 为 Consumer Rebalance Protocol 增加对增量协同重新均衡(incremental cooperative rebalancing)的支 ...
- appium+java+junit demo运行
对java熟悉一些,所以想用java把appium给做起来.今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的. 各块环境的搭建: 1.安装appium客户端,省略下载和安装步骤 ...
- 微博开发平台java SDK demo学习之friendships
本文解释了在java SDK的demo中与feiendships有关的功能 截图如下: 关注一个用户(需要知道该用户uid) 取消关注一个用户(用户uid) 获取用户粉丝列表(授权用户的screen_ ...
- 快递鸟物流单号自动识别接口JAVA对接demo
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- java迭代器demo
package cn.aust.zyw.demo; import java.util.Iterator; /** * Created by zyw on 2016/2/16. * Iterator模式 ...
- Java Design Demo -简单的队列-异步多任务队列(java android)
简单的单线程队列 -- 工作的时候遇到劣质打印机.给打印机发消息,打印机就会打印,如果在打印机还在打印的时候,就 再发消息打印,就会出现消息丢失.所以需要给上一个任务一些处理的间隔时间. 单线程的消息 ...
- Floyd算法java实现demo
Floyd算法java实现,如下: https://www.cnblogs.com/Halburt/p/10756572.html package a; /** * ┏┓ ┏┓+ + * ┏┛┻━━━ ...
- solr环境搭建及java小demo
一配置solr环境 1.下载solr 2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful ...
随机推荐
- 人民币大写金额转换C#方法
方法的代码如下: /// <summary> /// 人民币大写 /// </summary> /// <param name="input"> ...
- 解决IIS Web部署 svg/woff/woff2字体 404错误
最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了几百毫秒的加载时间. 一开始以为是路径的问题,检查发现路径也没错. ...
- 【JS复习笔记】06 方法
数组的方法: array.concat 一个数组去连接另一个数组,返回一个合成数组.var arrC=arrA.concat(arrB,'asd','sad',true,1.5); array.j ...
- EasyUI中Base(基础)的基本用法
EasyUI中Base(基础)的用法 一.Base(基础) 1.parser 解析器 2.easyloader 简单加载 3.draggable 拖动 4.droppable 放置 5.resizab ...
- 【Java Saves!】Session 6:十六指星人
前面说,计算机用2个手指头数数,它内部的数是二进制,有0和1两个数字.也看到,对于人来说,二进制数too long, too inconvenient, sometimes troublesome.程 ...
- css样式reset
初始化样式. @CHARSET "UTF-8"; body,ur,ol,li,p,h1,h2,h3,h4,h5,h6,form,fieldset,table,td,img,div, ...
- JavaScript来实现打开链接页面(转载)
在页面中的链接除了常规的方式以外,如果使用javascript,还有很多种方式,下面是一些使用javascript,打开链接的几种方式: 1.使用window的open方法打开链接,这里可是在制定页面 ...
- 选择使用c语言编写的phalcon框架
使用这个框架,我总结了如下几点考虑 1.这个框架速度快.纯c语言编写的框架,速度都比php框架快,省去了中间环节.当然,使用它不仅仅是性能考虑.因为如果为了解决php性能问题,完全可以有很多种方式,不 ...
- git 上传项目到github
1.本地新建文件夹GIT,Git Bash打开命令窗口, ①git config --global user.name "名字" eg: git config --global ...
- 用js枚举实现简易菜单效果
用js枚举实现简易菜单效果,左侧显示菜单,右侧显示用户选择的菜单,一图胜千言,还是直接来张效果图吧: 以下是代码: <DOCTYPE html> <html> <head ...