Java编程思想:文件读写实用工具
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
TextFile.test();
}
}
class TextFile extends ArrayList<String> {
public static String read(String fileName) {
StringBuilder sb = new StringBuilder();
try{
BufferedReader in = new BufferedReader(
new FileReader(new File(fileName).getAbsoluteFile()));
try{
String str;
while ((str=in.readLine()) != null) {
sb.append(str).append("\n");
}
}finally {
in.close();
}
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e){
throw new RuntimeException(e);
}
return sb.toString();
}
public static void write(String fileName, String text) {
try {
PrintWriter out = new PrintWriter(new File(fileName).getAbsoluteFile());
try {
out.println(text);
} finally {
out.close();
}
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public TextFile(String fileName, String splitter) {
super(Arrays.asList(read(fileName).split(splitter)));
if(get(0).equals(""))
remove(0);
}
public TextFile(String fileName) {
this(fileName,"\n");
}
public void write(String fileName) {
try {
PrintWriter out = new PrintWriter(new File(fileName).getAbsoluteFile());
try {
for (String item : this) {
out.println(item);
}
} finally {
out.close();
}
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void test() {
String file = read("./src/Test.java");
write("./src/file5",file);
String file5 = read("./src/file5");
// System.out.println(file);
System.out.println(file5);
TextFile text = new TextFile("./src/file5");
// text.write();
}
}
/*
读取二进制文件的工具
*/
class BinaryFile {
public static byte[] read(File bFile) {
try{
BufferedInputStream bf = new BufferedInputStream(
new FileInputStream(bFile));
try{
byte[] data = new byte[bf.available()];
bf.read(data);
return data;
} finally {
bf.close();
}
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static byte[] read(String bFile) {
return read(new File(bFile).getAbsoluteFile());
}
}
Java编程思想:文件读写实用工具的更多相关文章
- 《Java编程思想》读书笔记(三)
前言:三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十一章到第十六章的内容,这一次 ...
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...
- Java编程思想 第21章 并发
这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_tim ...
- JAVA编程思想——分析阅读
需要源码.JDK1.6 .编码风格参考阿里java规约 7/12开始 有点意识到自己喜欢理论大而泛的模糊知识的学习,而不喜欢实践和细节的打磨,是因为粗心浮躁导致的么? cron表达式使用 设计能力.领 ...
- 《Java编程思想》读书笔记(二)
三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第一章到第十章的内容,这一次记录的是第 ...
- 注解的基本盘点 -- 《Java编程思想》
注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据. ---<Java编程思想> 其实注解可以理解为一个工具类,只要使用了这个工 ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
- 重读JAVA编程思想
当年如猪八戒吃人生果般的读了java编程思想,只是知道这是本好书,但是具体细节,真是不知所云,很多都是工作中用到哪些,然后就翻<think in java >和<core java& ...
随机推荐
- Ubuntu设置MySQL允许远程访问
1.注释bind-address = 127.0.0.1. 代码如下: > sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = ...
- chrome 里面js提示Provisional headers are shown错误
参考:http://stackoverflow.com/questions/21177387/caution-provisional-headers-are-shown-in-chrome-debug ...
- ext中设置grid单选,取消选择
原代码(无法取消选择)如下: selModel: Ext.create('Ext.selection.CheckboxModel', { mode: "SINGLE", allow ...
- 使用Chart控件进行实时监控
Chart作为微软提供绘制图表的控件,在刚开始使用时非常的迷茫,因为功能强大,涉及到的知识多, 一开始难以接收过来,但后天经过查找资料,耐心学习,终于还是有了一定的收获. Chart相当于一个大的图纸 ...
- QSocket 总体设计框架说明(观赏)
QSocket 是 QDAC 开源组件的一个重要的组成部分,终于要开始开工了,为了方便大家了解 QSocket,对 QSocket 的总体设计的一些想法,我在这里给大家简要的描述一下. 首先,QSoc ...
- Qt5.5以来对Network的改进(包括对SSL的功能支持,HTTP的重定向等等)
Qt Network New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this wil ...
- Ring3下无驱动移除winlogon.exe进程ctrl+alt+del,win+u,win+l三个系统热键,非屏蔽热键(子类化SAS 窗口)
随手而作,纯粹技术研究,没什么实际意义. 打开xuetr,正常情况下.winlogon.exe注册了三个热键.ctrl+alt+del,win+u,win+l三个. 这三个键用SetWindowsHo ...
- php生成html静态文件
现在的动态网站存在很多性能上的弊端,seo优化会存在一定的瓶颈,现在将动态的网站代码转换为html静态文件,是浏览器通过html间接的读取动态网站源文件,这对其网站加载速度还是seo优化有着举足轻重的 ...
- 快速删除mysql表中的数据
一.清空全部数据,不写日志,不可恢复,速度很快 truncate table 表名; 二.清空全部数据,写日志,可恢复,速度很慢 delete from 表名;
- shell把文件批量导入mysql
for file in ./tmp_data/* do echo $file mysql -u'root' -p'wangbin' --default-character-set=utf8 -e&qu ...