java 文件读写的有用工具
java 文件读写的有用工具
package org.rui.io.util; import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.TreeSet;
/**
* 文件读写的有用工具
* @author lenovo
*
*/
public 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 s;
while((s=in.readLine())!=null)
sb.append(s);
sb.append("\n"); } finally
{
in.close();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return sb.toString();
}
// write a single
public static void write(String fileName,String text)
{
try {
PrintWriter out=new PrintWriter(
new File(fileName).getAbsoluteFile()
);
try {
out.print(text); }finally
{
out.close();
}
} catch (Exception e) {
throw new RuntimeException(e);
} } // read a file
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){
//System.out.println(item);
out.println(item);
} } finally
{
out.close();
}
} catch (Exception e) {
throw new RuntimeException(e);
} }
/////simple test
public static void main(String[] args) {
//路径依据自已的改
String path="D:\\Users\\liangrui\\workspace\\thinking\\src\\org\\rui\\io\\util/"; String fileText =read(path+"TextFile.java");//读取当前java文本
//写入文件
write(path+"newText.txt",fileText);
//对象 写
TextFile tf=new TextFile(path+"newText.txt");//再次读取写入的新文本
tf.write(path+"newText2.txt");//再次写入 //读取文本并放入TreeSet集合中
TreeSet<String> words=new TreeSet<String>(
new TextFile(path+"TextFile.java","\\W+")//\W词字符
);
//headSet 返回此 set 的部分视图,其元素严格小于 toElement。
System.out.println(words.headSet("a")); }
}
/**
* output:
[0, ArrayList, Arrays, BufferedReader, D, Exception, File,
FileReader, PrintWriter, RuntimeException, String, StringBuilder,
System, TextFile, TreeSet, Users, W]
*/
package org.rui.io.util; import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* 读取二进制文件
* @author lenovo
*
*/
public class BinaryFile { public static byte[] read(File bFile) throws IOException
{
BufferedInputStream bis=new BufferedInputStream(
new FileInputStream(bFile)
);
try {
//产生恰当数组尺寸
byte[] data=new byte[bis.available()];
bis.read(data);
return data;
} finally
{
bis.close();
}
} public static byte[] read(String bF) throws IOException
{
//重载
return read(new File(bF).getAbsoluteFile());// getAbsoluteFile 返回此抽象路径名的绝对路径名形式。
} }
java 文件读写的有用工具的更多相关文章
- java文件读写的两种方式
今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码: public static void main(String[] args) throws IOExceptio ...
- java文件读写操作
Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽 ...
- java文件读写操作类
借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内 ...
- java文件读写工具类
依赖jar:commons-io.jar 1.写文件 // by FileUtilsList<String> lines = FileUtils.readLines(file, " ...
- java 文件读写工具 FileUtil
代码如下: package com.wiscom.utils; import java.io.BufferedReader; import java.io.File; import java.io.F ...
- Java文件编码自动转换工具类(只改变编码,不会改变文件内容)
本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. public class Cha ...
- Java 文件读写操作
1[1]按字节读写,一次只读取一个字节,效率比较低 package bk1; import java.io.File; import java.io.FileInputStream; import j ...
- 【转载】Java文件编码自动转换工具类
本篇随笔主要介绍了一个用java语言写的将一个文件编码转换为另一个编码并不改变文件内容的工具类: 通过读取源文件内容,用URLEncoding重新编码解码的方式实现. 1 public class C ...
- Java文件读写分析
本文内容:IO流操作文件的细节分析:分析各种操作文件的方式. 读写一个文件 从一个示例开始分析,如何操作文件: /** * 向一个文件中写入数据 * @throws IOException */ pr ...
随机推荐
- 学习笔记3——WordPress文件目录结构详解
**********根目录********** 1.index.php:WordPress核心索引文件,即博客输出文件.2.license.txt:WordPress GPL许可证文件.3.my-ha ...
- A. Test for Job
A. Test for Job Time Limit: 5000ms Case Time Limit: 5000ms Memory Limit: 65536KB 64-bit integer IO ...
- 解决Linux 服务器ntpdate同步时间报错 the NTP socket is in use, exiting
错误信息: 错误原因分析: 由于 xntpd 已经绑定到了该 Socket.运行 ntpdate 时,它会首先进行广播,然后侦听端口 123. 如果 xntpd 正在运行,而有一个进程已经在侦听该端口 ...
- next_permutation
实验了一下next_permutation 代码如下 #include <cstdio> #include <cstdlib> #include <cstring> ...
- 如何构建一个flink sql平台
在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法. 如果要找合适的数据集,会发现可用的有很多,但是对于线性回归来 ...
- [luoguP2518][HAOI2010]计数(数位DP)
传送门 重新学习数位DP.. 有一个思路,枚举全排列,然后看看比当前数小的有多少个 当然肯定是不行的啦 但是我们可以用排列组合的知识求出全排列的个数 考虑数位dp 套用数位dp的方法,枚举每一位,然后 ...
- 刷题总结——系列维护(ssoi)
题目: 题解: 题解如上图,至于计算大于s的数字的数量和小于s数字的和用权值线段树或者树状数组维护就行了···注意离散化 另外发现cout和puts比printf快好多····· 代码: #inclu ...
- 洛谷 [P1290] 欧几里得的游戏
SG函数的应用 看到这题就想到了SG函数 那么可以考虑最终情况:一个数是x,另一个是0,那么先手必败(因为上一个人已经得到0了,其实游戏已经结束了) 剩下的情况:一个数n, 一个数m,假设n>m ...
- Linux服务器性能分汇总
工具使用: vmstat 查看cpu时间.内存.IO的情况. 参考:http://linuxcommand.org/man_pages/vmstat8.html 基本用法: [root@root ~] ...
- 【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到
clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...