`

JAVA 读取最后一行 删除最后一行 覆盖最后一行

    博客分类:
  • JAVA
 
阅读更多
注:有的地方视情况而定,比如nextend = start+len-1, 如果是空文件就会出错了可以把-1 去掉

读取末行操作:

    public static String readendline(String filename) throws Exception {  
      
            RandomAccessFile file0 = new RandomAccessFile(filename, "r");  
            long start = file0.getFilePointer();  
            long len = file0.length();  
            long nextend = start + len - 1;  
            file0.seek(nextend);  
            byte buf[] = new byte[1];  
            int i = -1;  
            String linestr = null;  
            while (nextend > start) {  
                i = file0.read(buf, 0, 1);  
                if (buf[0] == '\n') {  
                    if ((linestr = file0.readLine()) != null) {  
                         System.out.println("endline:" + linestr);  
                        break;  
                    }  
      
                }  
                nextend--;  
                file0.seek(nextend);  
            }  
      
            file0.close();  
            return linestr;  
      
        }  
    }  



写末行,覆盖末行操作:
	public static void writeendline(String filepath, String string)
			throws Exception {

		RandomAccessFile file = new RandomAccessFile(filepath, "rw");
		long len = file.length();
		long start = file.getFilePointer();
		long nextend = start + len - 1;
		byte[] buf = new byte[1];
		file.seek(nextend);
		file.read(buf, 0, 1);

		if (buf[0] == '\n')

			file.writeBytes(string);
		else
			
			file.writeBytes("\r\n"+string);
		
		file.close();

	}

	public static void rewriteendline(String filepath, String string)
			throws Exception {

		RandomAccessFile file = new RandomAccessFile(filepath, "rw");
		long len = file.length();
		long start = file.getFilePointer();
		long nextend = start + len - 1;

		int i = -1;
		file.seek(nextend);
		byte[] buf = new byte[1];

		while (nextend > start) {

			i = file.read(buf, 0, 1);
			if (buf[0] == '\r') {
				file.setLength(nextend - start);
				break;
			}
			nextend--;
			file.seek(nextend);

		}
		file.close();
		writeendline(filepath, string);

	}
分享到:
评论

相关推荐

    java 删除某行和读写txt文件

    在读取过程中,我们需要检查每一行是否符合删除条件。这可以通过简单的字符串比较实现,比如检查行首的字符串是否与指定的字符串相等: ```java String name = "要删除的行"; while ((s = br.readLine()) != null) ...

    java随机读取一行文本

    java随机读取一行文本,避免了网上其他版本乱码的烦恼~!

    java读取excel的每一行并用数据结构进行处理

    在这个主题中,我们将深入探讨如何使用Java来读取Excel文件的每一行,并将数据存储到合适的数据结构中。 首先,我们需要一个库来处理Excel文件。Apache POI是一个广泛使用的开源Java库,它提供了对Microsoft Office...

    java实现删除excel内容之间空行

    本文介绍了一个使用 Java 和 Apache POI 实现删除 Excel 文件中空行的方法。通过以上步骤,我们可以有效地清洗 Excel 数据,提高数据处理的效率。需要注意的是,在实际开发过程中还需考虑更多的异常处理以及性能优化...

    Java读取json文件并对json数据进行读取、添加、删除与修改操作

    开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。

    《第一行代码JAVA》PPT与源代码.zip

    《第一行代码JAVA》是一本非常适合初学者的Java编程入门书籍,它以其通俗易懂的语言和丰富的实例,引领读者逐步走进Java的世界。本压缩包包含了该书配套的PPT讲解和源代码,对于自主学习或者巩固书中知识具有很大的...

    java读取txt文件

    java源代码,一行一行读取一个txt文件,运行后显示出全部内容

    第一行代码Java源代码等配套资源

    《第一行代码Java》是一本深受初学者喜爱的编程入门书籍,主要针对Java语言进行讲解。这本书通过简单易懂的方式,引导读者从零开始学习Java编程。配套的源代码资源对于学习过程至关重要,因为它提供了实际操作的例子...

    java如何读取文件

    本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的基础 在Java中,读取文件主要依赖于`java.io`包中的类,如`FileReader`和`BufferedReader`...

    java 实现读取txt文本数据并以数组形式一行一行取值

    Java 实现读取 TXT 文本数据并以数组形式一行一行取值 Java 是一种流行的编程语言,广泛应用于各种领域。在实际开发中,我们常常需要读取文本文件中的数据,并将其转换为数组形式,以便于后续处理。在这篇文章中,...

    java读取文件方法大全

    ### Java读取文件方法大全:读取File流等技术 在Java中,读取文件是一项基本且重要的操作,它可以通过多种方式实现,如字节流、字符流和基于行的读取。下面将详细介绍这些方法: #### 字节级读取:`...

    Java逐行读取txt文档

    Java代码 用于进行txt读取 逐行读取后进行后续操作 入库

    STL.zip_java读取stl_stl读取 java

    这个"STL.zip_java读取stl_stl读取_java"的主题涉及到使用Java编程语言来处理ASCII格式的STL文件。在Java中读取STL文件可以帮助我们解析其内部的几何数据,例如三角面片的顶点坐标,从而进行3D模型的构建和分析。 ...

    java读取TXT文件入库

    以上就是使用Java读取TXT文件并将其内容存入数据库的基本步骤。根据实际需求,可能还需要处理异常、优化性能(如批处理SQL)、验证数据格式等细节问题。在处理大规模数据时,考虑使用多线程或者流式处理来提高效率。

    用java读取ini文件(支持中文)

    在Java编程环境中,读取INI配置文件是一项常见的任务,这些文件通常用于存储应用程序的设置或配置参数。由于INI文件格式简单且易于理解,因此在许多系统中被广泛使用。本篇我们将深入探讨如何使用Java有效地读取包含...

    编写程序,该程序实现打开一个文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。

    在Java编程语言中,打开和读取文本文件是一项基本任务,尤其对于初学者而言,这是理解文件I/O操作的关键步骤。下面我们将详细讲解如何编写一个Java程序,实现打开文本文件,逐行读取内容并将其作为字符串显示在屏幕...

    java按行删除文件中所有右侧空格

    在Java编程中,有时我们需要处理文本文件,例如删除文件中每一行末尾的多余空格。这通常是出于格式规范或数据处理的需求。本篇将详细讲解如何实现这一功能,并提供相应的源码示例。 首先,我们需要理解文件操作的...

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

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

    Java 读取文本指定的某一行内容的方法

    Java 读取文本指定的某一行内容的方法 Java 读取文本指定的某一行内容的方法是 Java 编程中的一种常见操作。为了读取文本文件中的指定行内容,我们可以使用 Java 的 IO 流来实现。 Java IO 流 Java IO 流是一种...

Global site tag (gtag.js) - Google Analytics