`
gstarwd
  • 浏览: 1526964 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用Java在文件里插入一行

阅读更多
在文件里增加一行的唯一方法就是读取原始文件,然后写入到一个临时文件,同时写入要插入的数据。然后删除原始文件,再把临时文件改名为原始文件名。
 

    package net.java2000.io;
  
    import java.io.BufferedReader;
   import java.io.File;
   import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
   
   /**
    * 给文件增加一行数据。
    * 
    * @author 赵学庆,Java世纪网(java2000.net)
    * 
    */
   public class FileInsertRow {
  
     public static void main(String args[]) {
       try {
         FileInsertRow j = new FileInsertRow();
         j.insertStringInFile(new File(args[0]), Integer.parseInt(args[1]), args[2]);
       } catch (Exception e) {
         e.printStackTrace();
       }
     }
  
     /**
      * 在文件里面的指定行插入一行数据
      * 
      * @param inFile
      *          文件
      * @param lineno
      *          行号
      * @param lineToBeInserted
     *          要插入的数据
      * @throws Exception
      *           IO操作引发的异常
      */
     public void insertStringInFile(File inFile, int lineno, String lineToBeInserted)
         throws Exception {
       // 临时文件
       File outFile = File.createTempFile("name", ".tmp");
  
  // 输入
       FileInputStream fis = new FileInputStream(inFile);
       BufferedReader in = new BufferedReader(new InputStreamReader(fis));
  
       // 输出
       FileOutputStream fos = new FileOutputStream(outFile);
       PrintWriter out = new PrintWriter(fos);
  
       // 保存一行数据
       String thisLine;
       // 行号从1开始
       int i = 1;
       while ((thisLine = in.readLine()) != null) {
         // 如果行号等于目标行,则输出要插入的数据
         if (i == lineno) {
           out.println(lineToBeInserted);
        }
         // 输出读取到的数据
         out.println(thisLine);
         // 行号增加
         i++;
       }
       out.flush();
       out.close();
       in.close();
  
       // 删除原始文件
      inFile.delete();
       // 把临时文件改名为原文件名
       outFile.renameTo(inFile);
     }
   }
分享到:
评论

相关推荐

    java按行读取大文件并解析入库

    // 解析和处理每一行 } ``` 5. **解析并入库** 对于每行数据,我们可以根据业务需求进行解析。这可能涉及到JSON、CSV或其他格式的解析。例如,如果数据是CSV格式,可以使用`java.util.StringTokenizer`或`java....

    java使用javacsv读取csv文件 导入Mysql数据库

    最后,将读取CSV文件和插入数据的过程结合起来,遍历CSV文件中的所有行,对每一行调用`importCSVToDatabase()`函数: ```java public static void main(String[] args) { // ... while ((record = reader.read...

    java使用poi操作.doc word模板替换,循环插入表格

    循环插入表格涉及到更复杂的操作,因为我们需要创建XWPFTable对象,设置列数和行数,然后在每一行添加XWPFTableCell。假设我们有一个数据列表,我们可以在遍历列表的过程中创建表格: ```java public void ...

    java实现自动扫描文件夹txt文档插入数据库

    1. Java文件操作:使用`java.io.File`类进行文件操作,筛选特定类型的文件。 2. TXT文档读取:使用`BufferedReader`和`FileReader`读取TXT文件内容。 3. JDBC数据库操作:加载数据库驱动,建立连接,执行SQL语句进行...

    Java利用poi对word插入文字图片

    本项目“Java利用poi对word插入文字图片”是一个具体的示例,旨在教给你如何使用Apache POI API在Word文档中插入文字和图片。下面将详细阐述相关的知识点。 首先,Apache POI提供了HWPF(Horrible Word Processor ...

    Java Poi流 根据Word模板插入相应的文本、表格和图片,生成新的Word报告

    在本主题中,我们将深入探讨如何使用Java POI流处理Word模板,插入文本、表格和图片,以及生成新的Word报告。 1. **Java POI流处理Word模板**: - POI API提供了`XWPFDocument`类来处理`.docx`文件,这是Word 2007...

    Java获取网络文件并插入数据库.rar

    在Java编程领域,将网络文件下载到本地并将其数据存储到数据库是一项常见的任务。这个"Java获取网络文件并插入数据库.rar"压缩包可能包含了实现这一功能的代码示例或者详细教程。下面,我们将深入探讨这一过程涉及的...

    Java生成Excel文件

    这段代码会创建一个名为"testCreateExcel.xlsx"的Excel文件,其中包含一个工作表,第一行第一列的单元格值为“Hello, Excel!”。 更复杂的操作,如设置单元格格式、合并单元格、插入图片、读取数据等,都可以通过...

    poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行

    标题中的“poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行”涉及到了Apache POI库的使用,这是一个Java API,专门用于处理Microsoft Office格式的文件,如Excel。以下是对这个主题的详细解释: Apache ...

    java 大文件ip 统计

    综上所述,Java大文件IP统计涉及的主要知识点有:Java文件I/O,流式处理,IP地址的处理与比较,数据结构(如HashMap和TreeMap)的选择,以及可能的并发和分布式计算。通过这些技术,我们可以高效地处理大文件中的IP...

    最简单易懂的一个java读写文件的操作

    这段代码将在文件末尾追加新的内容,并确保在每一行之间插入换行符。 4. **处理回车换行**: 在不同的操作系统中,换行符可能有所不同。在Windows上,换行通常表示为`\r\n`,而在Linux或Mac上则为`\n`。为了确保...

    Java读取CSV插入Neo4j并生成Echarts关系图

    1. **读取CSV**:使用Java读取CSV文件,解析每一行的数据,可能需要创建一个数据模型类来存储解析后的数据。 2. **数据转换**:根据数据结构,将CSV数据转换为Neo4j可以理解的格式。例如,将CSV中的行转化为节点或...

    java读写csv文件

    Java 读写 CSV 文件是指使用 Java 语言来读取和写入 CSV 文件,CSV 文件是一种常用的数据文件格式,逗号分隔的文本文件,默认可以用 Office 软件打开。CSV 文件可以包含各种特殊字符的处理信息,如对包含特殊字符的...

    Java处理100万行超大Excel文件秒级响应

    - **内存消耗低:** EasyExcel使用流式处理的方式读取Excel文件,只在内存中保存一行数据,从而大大降低了内存消耗。 - **高性能:** 通过对内部算法的优化,EasyExcel能够快速地处理大量的Excel数据。 - **扩展性强...

    java 生成Excel文件

    配合`Java.jpg`这个图片文件,可能是为了说明如何在Excel中插入图片。 总之,通过Apache POI库,Java程序员可以方便地创建、编辑和操作Excel文件,满足各种业务需求。学习和掌握这一技能,将有助于提升你在数据处理...

    Java解析txt文件到数据库

    我们可以使用`BufferedReader`来读取文件,并通过`split()`方法分割每一行数据,然后将这些数据存储在对象或列表中,例如: ```java List[]> dataRows = new ArrayList(); try (BufferedReader br = new ...

    Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据).pdf

    例如,插入一条数据到`testAPI`表的`cf1`列簇中: ```java Put put = new Put(Bytes.toBytes("rowKey")); put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("qualifier"), Bytes.toBytes("value")); admin.get...

    java 生成excle文件

    在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。在本场景中,我们使用了jxl.jar库来完成这个功能。jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件(.xls...

    Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。

    Java POI 是一个开源项目,专门用于处理Microsoft Office文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)和PowerPoint(.ppt/.pptx)等。在这个场景中,我们关注的是如何利用Java POI库通过Word模板生成包含特定...

    java创建TXT文件并进行读、写操作(代码)

    以下代码展示了如何替换文件中的第一行: ```java public static void replaceTxtByStr(String oldStr, String replaceStr) { String temp; try { File file = new File(path); FileInputStream fis = new ...

Global site tag (gtag.js) - Google Analytics