首页 > 代码库 > Java新IO】_文件锁\代码 与字符集

Java新IO】_文件锁\代码 与字符集

import java.io.File ;
import java.io.FileOutputStream ;
import java.nio.channels.FileChannel ;
import java.nio.channels.FileLock ;

public class FileLockDemo{
    public static void main(String args[]) throws Exception {
        File file = new File("d:" + File.separator + "mldn.txt") ;
        FileOutputStream output = null ;
        output = new FileOutputStream(file,true) ;
        FileChannel fout = null ;
        fout = output.getChannel() ;// 得到通道
        FileLock lock = fout.tryLock() ; // 进行独占锁的操作
        if(lock!=null){
            System.out.println(file.getName() + "文件锁定300秒") ;
            Thread.sleep(300000) ;
            lock.release() ;    // 释放
            System.out.println(file.getName() + "文件解除锁定。") ;
        }
        fout.close() ;
        output.close() ;
    }

}

 

 

//****

import java.nio.charset.Charset ;
import java.util.SortedMap ;
import java.util.Iterator ;
import java.util.Map ;
public class GetAllCharsetDemo{
    public static void main(String args[]){
        SortedMap<String,Charset> all = null ;
        all = Charset.availableCharsets() ;    // 得到全部可用的字符集
        Iterator<Map.Entry<String,Charset>> iter = null ;
        iter = all.entrySet().iterator() ;
        while(iter.hasNext()){
            Map.Entry<String,Charset> me = iter.next() ;
            System.out.println(me.getKey() + " --> " + me.getValue()) ;
        }
    }
}
//******

import java.nio.charset.Charset ;
import java.nio.charset.CharsetEncoder ;
import java.nio.charset.CharsetDecoder ;
import java.nio.CharBuffer ;
import java.nio.ByteBuffer ;
import java.util.SortedMap ;
import java.util.Iterator ;
import java.util.Map ;
public class CharsetEnDeDemo{
    public static void main(String args[]) throws Exception {
        Charset latin1 = Charset.forName("ISO-8859-1") ;    // 只能表示的英文字符
        CharsetEncoder encoder = latin1.newEncoder() ;    // 得到编码器
        CharsetDecoder decoder = latin1.newDecoder() ;    // 得到解码器
        // 通过CharBuffer类中的
        // CharBuffer cb = CharBuffer.wrap("北京MLDN软件实训中心!") ;
        CharBuffer cb = CharBuffer.wrap("北京MLDN软件实训中心!") ;
        ByteBuffer buf = encoder.encode(cb) ;    // 进行编码操作
        System.out.println(decoder.decode(buf)) ;    // 进行解码操作
    }
}
 

 

Java新IO】_文件锁\代码 与字符集