java文件读写操作类
借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装
仅仅需要在读写方法传入路径即可(可以是绝对或相对路径)
以后使用时,可以在此基础上改进,比如:
写操作:
1,对java GUI中文本框中的内容进行捕获,放在txt文本文档中
2,对各种类型数据都以字符串的形式逐行写入
3,对全局数组的内容进行写入
读操作:
获取文件行数
对逐行字符串型数据进行类型转换,放入二维数组中
为后面算法处理提供入口,但是要小心的是:不可以将行数用全局变量做计数器,否则每次读入是全局变量累加出错,应重新开始读取
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class ReadTextFile {
public BufferedReader bufread;
public BufferedWriter bufwriter;
File writefile;
String filepath, filecontent, read;
String readContent = "" ;
// 从文本文件中读取内容
public String readfile(String path)
{
try {
filepath = path; // 得到文本文件的路径
File file = new File(filepath);
FileReader fileread = new FileReader(file);
bufread = new BufferedReader(fileread);
while ((read = bufread.readLine()) != null ) {
read = read + " \r\n " ; //读取的每一行都加了换行符
readContent = readContent + read;
}
} catch (Exception d) {
System.out.println(d.getMessage());
}
return readContent; // 返回从文本文件中读取内容
}
public void writeFile(String path) { try {
BufferedWriter writer = new BufferedWriter(new FileWriter(path)); // 如果文本文件不存在则创建它
for(int i=0;i<256;i++){
for(int j=0;j<7;j++){ writer.write(Math.random()+" ");
}
writer.newLine();
}
//使用缓冲区中的方法,将数据刷新到目的地文件中去。
writer.flush();
//关闭缓冲区,同时关闭了writer流对象
writer.close();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args) throws Exception {
ReadTextFile parse = new ReadTextFile();
// 写文件
parse.writeFile( "D:/radar.txt");
//读文件(主要实现将整个文本读取出来,或读取文件函数返回字符串类型,或将每一行读取后放入全局字符串数组中)
String filecontent = parse.readfile( "D:/radar.txt" ); System.out.println(filecontent); }
}
当然,也可以将读写的路径用一个全局静态变量字符串来保存,只是不利于分离使用,故此处省略。
java文件读写操作类的更多相关文章
- java文件读写操作
Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽 ...
- Java文件读写操作指定编码方式防乱码
读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Re ...
- java文件读写操作大全
转自:http://hi.baidu.com/0_net/blog/item/8566fc2bb730c293033bf63e.html一.获得控制台用户输入的信息 public String get ...
- [Java] java文件读写操作大全
一.获得控制台用户输入的信息 //可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进 public String getInputMessage() throws IOExceptio ...
- Java 文件读写操作
1[1]按字节读写,一次只读取一个字节,效率比较低 package bk1; import java.io.File; import java.io.FileInputStream; import j ...
- java文件读写操作指定编码格式
读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,R ...
- java文件读写工具类
依赖jar:commons-io.jar 1.写文件 // by FileUtilsList<String> lines = FileUtils.readLines(file, " ...
- Java文件读写操作指定编码方式。。。。。
读: File file=new File(this.filePath);BufferedReader br=new BufferedReader(new InputStreamReader(new ...
- Java 字节流实现文件读写操作(InputStream-OutputStream)
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...
随机推荐
- Objective C HMAC-MD5
- (NSString*) HMACWithSecret:(NSString*) secret andString:(NSString *)str { unsigned long encode = C ...
- 51nod贪心算法教程
51nod确实是一个好oj,题目质量不错,wa了还放数据,学习算法来说挺好的,这次我做了几个水的贪心,虽然水,但是确实都很典型. 教程链接:http://www.51nod.com/tutorial/ ...
- iOS开发——二级列表
原理很简单,一级菜单放在viewForHeaderInSection里面,加一个点击事件,然后判断它的二级菜单(cell)显不显示. 直接上代码吧! // // HeheTableViewContr ...
- html元素被隐藏在后面
当有些html元素是由于某些控件生成的,然后它被隐藏在其他元素的后面,但是它一开始是隐藏的,你无法直接在html或js里修改它的属性:z-index,使其可以放在更前面,这时可以在css里重新定义控件 ...
- 一个苹果证书怎么多次使用——导出p12文件
http://blog.csdn.net/jjiss318/article/details/41812243 原文:http://my.oschina.net/u/1245365/blog/19636 ...
- FZU 2099 魔法阵
手算. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...
- pku2104
传送门:http://poj.org/problem?id=2104 题目大意:给定一个长度为N的数组{A[i]},你的任务是解决Q个询问.每次询问在A[l], A[l+1], ...... , A[ ...
- Core Data需求
大家都在讨论怎么使用Core Data,但是什么时候用到Core Data,这好像是大家很少讨论的问题 我们使用Core Data ,主要用来存储两种类型的数据:固定的数据,和 可能变化的数据. 1. ...
- eclipse 工具栏修改
本来和同学约好一起去吃饭的,刚电话说有亲戚过来了,叫我一起去吃 哪有那个闲心,去陪他们吃饭 刚好,把这个一起写了 相信很多人会很烦,eclipse的工具栏太多了,折了一行下来,看着不好看,还烦(本人觉 ...
- 使用 StateServer 保存 Session 解决 Session过期,登陆过期问题。
使用 StateServer 保存 Session 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这 ...