怎么用IO流删除指定行数的内容啊,真的很着急,麻烦彭于晏,吴彦祖回答一下
3条回答 默认 最新
关注
import java.io.*; public class DeleteLineDemo { public static void deleteLines(String filePath, int[] lineNumbers) throws IOException { File oldFile = new File(filePath); File newFile = new File(filePath + ".tmp"); // 新建临时文件 BufferedReader reader = new BufferedReader(new FileReader(oldFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(newFile)); String line; int lineNumber = 0; while ((line = reader.readLine()) != null) { lineNumber++; if (!contains(lineNumbers, lineNumber)) { // 判断当前行是否需要保留 writer.write(line); writer.newLine(); } } reader.close(); writer.close(); oldFile.delete(); // 删除旧文件 newFile.renameTo(oldFile); // 重命名临时文件为原文件名 } private static boolean contains(int[] arr, int target) { for (int num : arr) { if (num == target) { return true; } } return false; } public static void main(String[] args) throws IOException { String filePath = "test.txt"; int[] lineNumbers = {2, 4}; // 需要删除的行号 deleteLines(filePath, lineNumbers); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 语料库之间数据差异性分析
- ¥20 如何制作支付宝扫码跳转到发红包
- ¥15 STM32F103C8T6使用标准库stm32f10x.h驱动ws2812
- ¥20 我是数控机床电气工程师,主要是做840DSL与one,请问如何自学
- ¥20 显示器休眠后重新唤醒出现蓝屏,蓝屏代码为DRIVER-POWER.STATE-FAILURE
- ¥20 alt+tab怎么恢复到以前的模式
- ¥15 来一个会抓包app支付链接的
- ¥15 MMdetection安装
- ¥15 STM32U535系列stop3模式进入和RTC唤醒
- ¥15 如何提取全民K歌没下载过但播放过很多次的音频?