java如何删除文件的前几行数据(不使用临时文件)
来源:互联网 发布:讨鬼传极优化补丁 编辑:程序博客网 时间:2024/06/11 17:10
private List<String> readAndRemoveFirstLines(File file, int lineNum) throws IOException{ List<String> strList = new ArrayList<String>(); RandomAccessFile raf = null; try{ raf = new RandomAccessFile(file, "rw"); //Initial write position long writePosition = raf.getFilePointer(); for (int i = 0 ; i < lineNum ; i++){ String line = raf.readLine(); if(line == null){ break; } strList.add(line); } // Shift the next lines upwards. long readPosition = raf.getFilePointer(); byte[] buff = new byte[1024]; int n; while (-1 != (n = raf.read(buff))) { raf.seek(writePosition); raf.write(buff, 0, n); readPosition += n; writePosition += n; raf.seek(readPosition); } raf.setLength(writePosition); } catch(IOException e){ LOG.error("readAndRemoveFirstLines error", e); throw e; } finally{ try{ if(raf != null){ raf.close(); } }catch(IOException e){ LOG.error("close RandomAccessFile error", e); throw e; } } return strList; }
阅读全文
1 0
- java如何删除文件的前几行数据(不使用临时文件)
- 删除临时文件的bat文件
- exec应用及删除文件前N行数据问题
- Keil 使用.bat文件(批处理)删除工程中的临时文件
- python-19-如何访问文件的状态?如何使用临时文件?
- 删除代码前的行数与空格
- mysql删除前5行数据
- 如何快速删除Linux下的svn隐藏文件及其他临时文件
- 如何删除Internet临时文件 清理Cookies 清理缓存文件
- VBS递归删除文件及文件夹(默认是删除VC的临时文件的配置)
- 删除临时文件的批处理
- 下载文件时候注意事项 临时文件的使用
- 如何使用临时文件
- sql server 分组,取每组的前几行数据
- PHP 使用tempnam保存临时文件,而不是自己维护临时文件的创建和删除
- orcale利用rownum取出前几行数据
- Windows下如何删除N天前的归档文件
- 教你玩转 Java 的临时文件(创建与删除)
- C++中new、delete
- OPENCV创建灰度直方图
- markdown 语法效果图
- AndroidStudio怎样导入library项目开源库
- MySQL中no action和restrict的区别
- java如何删除文件的前几行数据(不使用临时文件)
- java中的日志组件-log4j
- HDU5678-ztr loves trees
- 今日开通博客
- linux 常用命令(一)
- Java快速排序
- 浅析MySQL中exists与in的使用 (写的非常好)
- 如何通过索引说数据库优化能力
- 深入理解——继承