zoukankan      html  css  js  c++  java
  • RandomAccessFile操作文件

     1 package file;
     2 
     3 import java.io.File; 
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.RandomAccessFile;
     8 
     9 
    10 public class InsertContent {
    11 
    12     public static void insert(String fileName,long pos,String insertContent) throws IOException{
    13         File tmp = File.createTempFile("tmp", null);
    14         tmp.deleteOnExit();
    15         try(
    16             RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
    17             FileOutputStream tmpOut = new FileOutputStream(tmp);
    18             FileInputStream tmpInputStream = new FileInputStream(tmp)
    19             ){
    20             //  将记录指针移动文件末尾  追加内容
    21 //            raf.seek(raf.length());
    22             
    23             // 将记录指针移动指定位置
    24             raf.seek(pos);
    25             
    26             byte[] bbuf = new byte[64];
    27         
    28             int hasRead = 0;
    29             
    30             StringBuffer sbf = new StringBuffer();
    31             
    32             while((hasRead = raf.read(bbuf)) > 0 ){
    33                 tmpOut.write(bbuf, 0 , hasRead);
    34                 sbf.append(new String(bbuf));
    35             }
    36             System.out.println(sbf.toString());
    37             
    38             raf.seek(pos);
    39             
    40             raf.write(insertContent.getBytes());
    41             
    42             while ((hasRead = tmpInputStream.read(bbuf)) > 0) {
    43                 raf.write(bbuf , 0 , hasRead);
    44             }
    45         }
    46     }
    47     
    48     public static void main(String[] args) {
    49         try {
    50             insert("f:/new 1.txt", 45, "ajsdkjfksldjfkl");
    51         } catch (IOException e) {
    52             e.printStackTrace();
    53         }
    54     }
    55 }
  • 相关阅读:
    hihocoder 1049 后序遍历
    hihocoder 1310 岛屿
    Leetcode 63. Unique Paths II
    Leetcode 62. Unique Paths
    Leetcode 70. Climbing Stairs
    poj 3544 Journey with Pigs
    Leetcode 338. Counting Bits
    Leetcode 136. Single Number
    Leetcode 342. Power of Four
    Leetcode 299. Bulls and Cows
  • 原文地址:https://www.cnblogs.com/zfy0098/p/5241078.html
Copyright © 2011-2022 走看看