Java 使用 NIO 方式读文件
发布时间:2020-12-15 00:18:53 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.io.File;import java.io.RandomAccessFile;import java.io.IOExcepti
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.io.File; import java.io.RandomAccessFile; import java.io.IOException; /** * Create a file with holes in it. * */ public class FileHole { public static void main (String [] argv) throws IOException { // create a temp file,open for writing and get a FileChannel File temp = File.createTempFile ("holy",null); RandomAccessFile file = new RandomAccessFile (temp,"rw"); FileChannel channel = file.getChannel(); // create a working buffer ByteBuffer byteBuffer = ByteBuffer.allocateDirect (100); putData (0,byteBuffer,channel); putData (5000000,channel); putData (50000,channel); // Size will report the largest position written,but // there are two holes in this file. This file will // not consume 5MB on disk (unless the filesystem is // extremely brain-damaged). System.out.println ("Wrote temp file '" + temp.getPath() + "',size=" + channel.size()); channel.close(); file.close(); } private static void putData (int position,ByteBuffer buffer,FileChannel channel) throws IOException { String string = "*<-- location " + position; buffer.clear(); buffer.put (string.getBytes ("US-ASCII")); buffer.flip(); channel.position (position); channel.write (buffer); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |