Java 对文件的操作
public class ReadFile {
/**
* 按行读取文件操作
* @throws IOException
*/
public void readFile(String fileName) throws IOException{
//(1)File 类
File file = new File(fileName);
//
BufferedReader reader = null;
try {
//(2) 将文件放入到BufferedReader中
reader = new BufferedReader(new FileReader(file));
String temp = null;
int line = 0;
while( (temp = reader.readLine()) != null){
System.out.println(temp + (++line));
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
reader.close();
}
}
/**
* 文件的写入操作
*/
public void writeFile(String fileName, String str) throws IOException{
File file = new File(fileName);
//true实现对文件的追加操作
FileWriter ws = new FileWriter(file,true);
ws.write(str);
ws.close();
}
/**
* 对于一个大文本文件,我们仅仅读取最后的N行
* @throws IOException
*/
public String[] getLastNFromFile(String fileName) throws IOException{
String []temp = new String[5];
File f = new File(fileName);
BufferedReader reader = new BufferedReader(new FileReader(f));
String temp1 = null;
int line = 0;
while((temp1 = reader.readLine()) != null){
temp[line++]= temp1;
if(line >= 5 ){
line = 0;
}
}
return temp;
}
/**
* 通过索引进行操作
* @throws IOException
*/
public String[] getLastNFromFileByIndex(String fileName) throws IOException{
String []temp = new String[5];
File f = new File(fileName);
BufferedReader reader = new BufferedReader(new FileReader(f));
String temp1 = null;
int line = 0;
while((temp1 = reader.readLine()) != null){
line++;
}
return temp;
}
}
对2000000行的文件进行操作,读取最后的5行,并没有发现直接通过行索引和通过一个数组进行栈式进入有什么差别!
Java 对文件的操作的更多相关文章
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- Java的文件读写操作 <转>
目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...
- [转]Java的文件读写操作
file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer. Mapped ...
- java 实现文件读写操作
import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /* JAVA IO 读写操作 20 ...
- java写文件读写操作(IO流,字节流)
package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...
- java 的文件读取操作
/** * @param filePath 文件的全路径 * 返回我们读取到的文件内容 * **/ public static String readFile(String filePath) { F ...
- java写文件读写操作(IO流,字符流)
package copyfile; import java.io.*; public class copy { public static void main(String[] args) throw ...
随机推荐
- 搭建三层架构(ASP.NET MVC+EF)
昨天面试的时候最后做了一道上机题,竟然跪了,跪就跪在没有搭好框架,连接数据库总是程序报错. 回来之后亲自搭了一下框架,弄好后放到博客上.下图就是搭建好后,整个框架的结构就是这样,下面对框架中的文件进行 ...
- js-DOM-页面元素的兼容性、常用事件、节点
页面元素的兼容性: 所谓的兼容性指的就是当前浏览器是否支持当前对象的属性或是方法,如果支持就是兼容,如果不支持就是不兼容. 举个例子: /** * 设置页面标签之间的文本内容的兼容性写法 * @par ...
- 编译器问题:运行maven,报错-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
1.新建环境变量M2_HOME 2.指向你的maven安装目录 例如 :M2_HOME=D:\Apps\apache-maven-3.3.9 3.进入Myeclipse进行修改,Window-> ...
- Divide Two Integers leetcode
题目:Divide Two Integers Divide two integers without using multiplication, division and mod operator. ...
- 【Visual Lisp】Visual Lisp属性与方法
说明:Visual Lisp属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌 ...
- Programming Assignment 4: 8 Puzzle
The Problem. 求解8数码问题.用最少的移动次数能使8数码还原. Best-first search.使用A*算法来解决,我们定义一个Seach Node,它是当前搜索局面的一种状态,记录了 ...
- (light OJ 1005) Rooks dp
http://www.lightoj.com/volume_showproblem.php?problem=1005 PDF (English) Statistics Forum Tim ...
- PHP生成迅雷、快车、旋风等软件的下载链接代码实例
PHP生成迅雷.快车.旋风等软件的下载链接代码实例 <?php function Download() { $urlodd=explode('//',$_POST["url" ...
- autorelease的对象何时被释放
autorelease的对象何时被释放 参考答案: 如果了解一点点Run Loop的知道,应该了解到:Run Loop在每个事件循环结束后会去自动释放池将所有自动释放对象的引用计数减一,若引用计数变成 ...
- protobuf-net 与 C#中几种序列化的比较
C#中几种序列化的比较,此次比较只是比较了 序列化的耗时和序列后文件的大小. 几种序列化分别是: 1. XmlSerializer 2. BinaryFormatter 3. DataContract ...