文件操作类

` /** * 文件中追加文字 * param fileName * param pos * paraminsertContent * throws IOException / @SuppressWarnings("resource") public static void fileAppend(String filePath, String insertContent) throws IOException { RandomAccessFile raf = null; File tmp = File.createTempFile("tmp", null); FileOutputStream tmpOut; FileInputStream tmpIn; long pointer = 0; tmp.deleteOnExit(); try { raf = new RandomAccessFile(filePath, "rw"); tmpOut = new FileOutputStream(tmp); tmpIn = new FileInputStream(tmp); //[TIMESERIES]标题占位数量 pointer = 100; pointer += getKeyIndex(filePath,"[TIMESERIES]"); // System.out.println(pointer); byte[] bbuf = new byte[64]; int hasRead = 0; raf.seek(pointer); while ((hasRead = raf.read(bbuf)) > 0) { tmpOut.write(bbuf, 0, hasRead); } raf.seek(pointer); raf.write(insertContent.getBytes()); while ((hasRead = tmpIn.read(bbuf)) > 0) { raf.write(bbuf, 0, hasRead); } } finally { raf.close(); System.out.println("file insert end!"); } } /* * 获取指定字符索引 * param srcText * param findText * return * throws IOException */ @SuppressWarnings("resource") public static long getKeyIndex(String filePath, String findText) throws IOException { long index = 0; RandomAccessFile raf = new RandomAccessFile(filePath, "rw"); String readLine = null; StringBuffer buffer = new StringBuffer(); while((readLine =raf.readLine())!=null){ buffer.append(readLine+"\r\n"); if(readLine.equals(findText)){ index = buffer.lastIndexOf(findText)+findText.length()+2; } } return index; }

`

转载于:https://my.oschina.net/zhxwang/blog/1493157

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值