http://topic.csdn.net/u/20071228/17/08df86d6-f86e-4b39-ad9c-66aa957e49ae.html
package test;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class FromEndRF {
public static void read(String filename) {
read(filename, "GBK");
}
public static void read(String filename, String charset) {
RandomAccessFile rf = null;
try {
rf = new RandomAccessFile(filename, "r");
long len = rf.length();
long start = rf.getFilePointer();
long nextend = start + len - 1;
String line;
rf.seek(nextend);
int c = -1;
while (nextend > start) {
c = rf.read();
if (c == '\n' || c == '\r') {
line = rf.readLine();
if (line != null) {
System.out.println(new String(line.getBytes("ISO-8859-1"), charset));
}else {
System.out.println(line);
}
nextend--;
}
nextend--;
rf.seek(nextend);
if (nextend == 0) {// 当文件指针退至文件开始处,输出第一行
System.out.println(rf.readLine());
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (rf != null)
rf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String args[]) {
read("d:\\2.txt", "gbk");
}
}
分享到:
相关推荐
TrueType字体(TTF)是计算机中广泛使用的字体格式,由Apple和Microsoft在1980年代末共同开发。TTF文件包含字符的数学描述,这些描述被称为轮廓,用于在屏幕上或打印机上精确地绘制文本。本文将深入探讨如何读取TTF...
根据标题"从找定文件复制所有非空记录到本文件记录末"和描述"从找定文件复制所有非空记录添加到本文件长一个非空记录处",我们可以推断这是一个涉及到Excel VBA(Visual Basic for Applications)宏的程序,用于处理...
“at+” 读写打开一个文本文件,允许读,或在文件末追加数据 “rb+” 读写打开一个二进制文件,允许读和写 “wb+” 读写打开或建立一个二进制文件,允许读和写 “ab+” 读写打开一个二进制文件,允许读,或在文件...
// 从当前位置向文件末方向移动10个字节 ``` #### 错误处理 在进行文件操作时,错误处理是必不可少的环节,C++提供了几个函数来检测文件状态: - `good()`:检查文件是否处于正常状态,即文件是否成功打开。 - `...
2. FAT遍历:从第一个簇开始,通过查询FAT表找到文件的下一个簇,直到遇到结束标记(通常是0xFF FF FF FF)。 3. 扇区读取:确定文件在数据区的位置,按簇计算出对应的扇区,然后读取这些扇区的数据,组合成完整的...
4. 文件操作:包括CopyFile和DeleteFile方法,分别用于将文件从源位置复制到目标位置以及在成功移动后删除源文件。在实际应用中,可能还需要处理权限问题,确保程序有足够的权限执行这些操作。 5. 错误处理:在处理...
* ab+:读写打开一个二进制文件,允许读或在文件末追加数据。 在使用 fopen() 函数时,需要注意文件路径和文件名的正确性,以及文件打开模式的选择。 C 语言文件操作函数提供了多种方式来操作文件,包括打开文件、...
- **读字符串函数`fgets`**:从指定文件中读取一个字符串。 - **调用格式**: ```c char *fgets(char *s, int n, FILE *stream); ``` - **示例**: ```c char str[50]; fgets(str, sizeof(str), fp); ``` ...
- `"at+"`:读写打开一个文本文件,允许读,或在文件末追加数据。 - `"rb+"`:读写打开一个二进制文件,允许读和写。 以上内容涵盖了C语言中文件操作的基础知识,包括文件的概念、分类以及基本的文件操作方法。...
- `"at+"`:读写方式打开文本文件,允许在文件末追加数据。 - **二进制文件模式**: - `"rb"`:只读方式打开二进制文件。 - `"wb"`:只写方式打开或新建二进制文件。 - `"ab"`:追加方式打开二进制文件,在文件...
在C语言中,读写文件比较灵活,既可以每次读写一个字符,也可以读写一个字符串,甚至是任意字节的数据(数据块)。本节介绍以字符形式读写文件。 以字符形式读写文件时,每次...EOF 是 end of file 的缩写,表示文件末
)开始,直到行末。 2. **Java读取INI文件**: 使用Java,可以使用`java.io`包中的`BufferedReader`或`Scanner`类来逐行读取文件。每一行被解析为键值对或节。关键在于正确识别和处理注释、键值对和节的边界。 3....
如需保留原有文件内容,希望写入的字符从文件末开始存放,必须以追加方式打开文件。 每写入一个字符串,文件内部位置指针向后移动到末尾,指向下一个待写入的位置。 6.1.3 案例 - 学生信息存储到文件 在本节的...
首先,我们从文件头信息开始。BMP文件头由两部分组成:BITMAPFILEHEADER(文件头)和BITMAPINFOHEADER(信息头)。文件头包含以下字段: 1. 文件类型标识:通常为"BM",表示这是一个BMP文件。 2. 文件大小:整个BMP...
本压缩包“易语言源码从TTF文件里提取出字体名.rar”包含了一段易语言编写的源代码,其主要目的是从TrueType Font(TTF)文件中解析出字体名称。 TrueType字体是一种广泛使用的字形标准,由Apple和Microsoft在1980...
// 从当前位置向文件末方向移动10个字节 file.seekg(-10, ios::cur); // 从当前位置向文件开始方向移动10个字节 ``` #### 四、文件错误处理 在进行文件操作时,经常会遇到各种错误,如文件不存在、读写错误等。...
下载过程可能包括服务器端的文件读取、HTTP响应头设置(如Content-Disposition和Content-Type),以及可能的断点续传支持,以提高大文件下载的效率。 4. 用户权限管理:为了保证文件的安全性,系统可能实现了用户...
这些操作的实质是,从指针的当前位置开始读取指定长度的字符串,直到遇到换行符或文件结束符。 通常情况下,我们无法直接控制指针跳转到文件的倒数第N行,但可以通过fseek()函数将文件指针移动到文件末尾,并利用两...
本压缩包“易语言源码从TTF文件中提取出字体名.rar”包含了一段易语言编写的源代码,其主要目的是从TrueType Font(TTF)文件中解析出字体名称。 TrueType字体是一种广泛使用的字形标准,由Apple和Microsoft在1980...