`
haitan
  • 浏览: 36608 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

从文件末尾进行读取的简单示例

阅读更多

    现实中有时会遇到需要从文件末尾开始读取的例子,比如读取文件的最后一行之类的。

    此时需要采用 RandomAccessFile 进行读取。

    下面只是一个简单的倒序读取文件的示例,以供参考。此示例不考虑性能,只介绍RandomAccessFile 的使用方法。

import java.io.RandomAccessFile;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FromEndFileRead {
	public static void main(String args[]) {
		RandomAccessFile rf = null;
		try {
			rf = new RandomAccessFile("C:/net.log", "r");
			long len = rf.length();
			long nextend = len - 1;
			String line;
			rf.seek(nextend); //移动到文件最后
			int c = -1;
			while (nextend > 0) {
				c = rf.read();
				if (c == '\n' || c == '\r') {
					line = rf.readLine();
					if (line == null) {//处理文件末尾是空行的情况
						nextend--;
						rf.seek(nextend);
						continue;
					}
					System.out.println(new String(line.getBytes("ISO-8859-1"), "GB2312")); //处理中文问题
					nextend--;
				}
				nextend--;
				rf.seek(nextend);
				if (nextend == 0) {// 文件指针已退至开始处,输出第一行
					System.out.println(new String(rf.readLine().getBytes("ISO-8859-1"), "GB2312")); //处理中文问题
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				rf.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
 
分享到:
评论

相关推荐

    VC++文件读写示例

    本文将深入探讨如何使用VC++进行文件读写操作,特别是针对TXT文本文件。 首先,打开和关闭文件是文件操作的基础。在VC++中,我们可以使用标准库中的`fstream`类来实现。`fstream`提供了`ifstream`(输入文件流)和`...

    VB6超大文件(大于2G)读写 示例代码

    - `dwMoveMethod`:移动方式,可以是`FILE_BEGIN`(从文件开头开始)、`FILE_CURRENT`(从当前位置开始)或`FILE_END`(从文件末尾开始)。 在VB6中处理大文件,通常采用以下步骤: 1. 打开文件:使用`FreeFile`...

    C语言中进行文件读写操作的简单示例代码

    ### C语言中进行文件读写操作的关键知识点 #### 一、基本概念与原理 - **文件操作概述**:在C语言中,文件被视为一个字符流序列。文件操作主要包括打开(打开/创建)、读写以及关闭等步骤。 - **标准文件I/O函数库*...

    利用Go语言追加内容到文件末尾

    // 从文件末尾的位置开始写入内容 _, err = f.WriteAt([]byte(content), n) if err != nil { return fmt.Errorf("写入文件时出错: %v", err) } return nil } func main() { err := appendToFile("example....

    向文件末尾加内容

    在计算机科学中,文件操作指的是对存储在磁盘上的数据文件进行读取、写入、删除或修改等操作。当涉及到向文件添加内容时,通常有两种场景:一种是在文件的开头或中间插入内容,另一种则是在文件的末尾追加内容。本篇...

    c语言文件读写操作代码示例.pdf

    通过文件读写,我们可以持久化程序产生的数据或者从外部读取数据供程序使用。本文将通过一个具体的示例来详细介绍如何在C语言中实现文件的读写操作。 #### 二、基础知识 在开始编写代码之前,我们需要了解一些基础...

    C语言中进行文件读写操作的基本代码示例.zip

    3. `fread()`: 用于从文件中读取数据,参数包括文件指针、要读取的数据类型、元素个数和要读取的元素个数。 4. `fwrite()`: 相反,`fwrite()`用于向文件写入数据,参数与`fread()`类似。 5. `fprintf()` 和 `...

    vc用标准文件输入输出写的文件读写示例

    - STL容器如`vector`或`map`可以配合文件流进行序列化,将容器中的数据保存到文件或从文件恢复。 - `stringstream`也可以作为中间媒介,允许在内存中的字符串和磁盘文件之间转换数据。 8. **注意事项** - 文件...

    c语言文本文件读写操作示例代码

    - 描述:此函数从指定的文件流中读取最多`n-1`个字符,并将这些字符存放到由`s`指向的缓冲区中。 - 参数: - `s`:指向目标缓冲区的指针。 - `n`:缓冲区的最大长度。 - `stream`:文件指针。 - 返回值:如果...

    c语言文件读写txt文件操作代码示例

    在C语言中,进行文本文件的读写是编程的基础技能之一。C语言提供了标准库函数,如`fopen`, `fprintf`, `fscanf`, `fread`, `fwrite`, `fclose`等,用于处理文件操作。下面我们将详细探讨如何在C语言中进行TXT文件的...

    读取与写入文本简单示例

    综上所述,"ReadAndWriteFileDemo"这个示例可能包含了一个简单的Python脚本,演示了如何根据个人需求读取和写入文本文件。通过学习这个示例,我们可以掌握基础的文件操作技能,为后续更复杂的文件处理打下坚实的基础...

    VB读取数据文件示例

    总的来说,VB提供了多种方式来读取不同类型的数据文件,从简单的文本文件到复杂的二进制资源文件,以及特定格式的配置文件。通过熟练掌握这些方法,开发者可以灵活地构建能够处理各种数据输入输出的应用程序。

    java 二进制文件的读写操作

    它是从文件系统的一个文件中获得输入字节的方便方法。 2. **FileOutputStream**:用于写入原始字节流的输出流。它提供了向文件系统的一个文件写入字节的便利方法。 3. **BufferedInputStream** 和 **DataInputStream...

    JAVA文件读写操作教程与示例代码.docx

    - `Scanner`可以从文件或标准输入读取数据。 - `hasNextLine()`检查是否还有下一行数据可供读取。 - `nextLine()`方法读取一行文本数据。 #### 二、二进制文件写入 Java还提供了多种方式来写入二进制文件,以下是一...

    java实现文件的读写操作

    以下是一个使用`BufferedReader`读取文件的简单示例: ```java try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { System...

    Python文件操作教程:文本文件的读写、追加、逐行读取与异常处理完整示例

    文件追加:使用"a"模式打开文件,在文件末尾追加新内容而不覆盖现有内容。 文件读取:使用"r"模式读取文件内容。如果文件不存在,会抛出FileNotFoundError异常。 逐行读取:利用for循环逐行读取文件内容。 使用...

    java 按顺序读取文件

    以下是一个简单的示例,展示如何使用`BufferedReader`按顺序读取文件: ```java import java.io.*; public class BufferedReaderTest { public static void main(String[] args) { try { // 创建FileReader对象...

    实例70读写文件.rar_写文件_文件读写_读写文件

    无论是存储数据、日志记录还是程序配置,都需要对文件进行读取或写入。本实例"实例70读写文件.rar"着重介绍了如何在编程中执行文件写入的操作,以及相关的文件读写知识。 首先,我们来看"写文件"这一主题。在编程中...

Global site tag (gtag.js) - Google Analytics