JAVA内存文件映射
有如下情况下可以用到内存文件映射技术解决问题:
1.不要复制文件中所有的数据,只需要修改文件中局部的数据。
2.并行\分段处理大文件。
如下代码示使用javaNIO局部修改文件中指定位置的部分数据:
Java代码
/**
* 修改文件中的某一部分的数据测试:将字定位置的字母改为大写
* @param fName :要修改的文件名字
* @param start:起始字节
* @param len:要修改多少个字节
* @return :是否修改成功
* @throws Exception:文件读写中可能出的错
* @author javaFound
*/
public static boolean changeFile(String fName,int start,int len) throws Exception{
//创建一个随机读写文件对象
java.io.RandomAccessFile raf=new java.io.RandomAccessFile(fName,"rw");
long totalLen=raf.length();
System.out.println("文件总长字节是: "+totalLen);
//打开一个文件通道
java.nio.channels.FileChannel channel=raf.getChannel();
//映射文件中的某一部分数据以读写模式到内存中
java.nio.MappedByteBuffer buffer= channel.map(FileChannel.MapMode.READ_WRITE, start, len);
//示例修改字节
&nb
相关文档:
下边是自己对类的一些使用认识,如果有不对的,敬请达人指正。
任何类的使用都经历:类加载和类初始化的阶段。
类初始化:
*普通成员属性:
1.系统默认初始化,基本类型默认为0或false,引用类型默认为null。
2.声明时显示初始化或普通初始化块(注意:普通初始化只有在new构造函数创建实例时,才会被自动调 ......
这几天看了网上一些前辈的代码,自己对Java实现zip文件的解压,压缩有一点理解,故写下留着以后参考。
为了处理中文乱码问题,使用ant.jar包。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
......
1 引言
Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存 ......
1、作用域public,private,protected,以及不写时的区别
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
不写时默认为friendly √ √ × ×
private √ × × ×
2、ArrayList和Vect ......
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。
1. 原始单据与实体之间的关系
  ......