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;
......
你的SQL Server 2000必须打上SP3的补,然后安装Microsoft的JDBC驱动,将以下三个jar包复制到WebContent\WEB-INF\lib
msbase.jar
mssqlserver.jar
msutil.jar
下面是测试代码,没有报错数据库就能正常连接
public class DbcTest {
/**
* @param args
*/
public static void main(String[] args) {
Str ......
1、作用域public,private,protected,以及不写时的区别
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
不写时默认为friendly √ √ × ×
private √ × × ×
2、ArrayList和Vect ......
java中synchronized用法(zz)
打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 ......