import java.io.*;
import java.util.*;
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(IOException e){
throw new RuntimeException(e);
}
return sb.toString();
}
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(IOException e){
throw new RuntimeException(e);
}
}
public static void write(String filename,String text){
//其中filename指明要写入的文件名,text指明写入的字符串内容
try{
//虽然字符串里面含有换行符,但是直接写入文件里面的时候它不会被识别
//我们采用split方法,以字符串里面的“\n"为界将字符串拆开
//然后写文件的时候我们再人为地进行换行操作。
//如果直接将text里面的内容写入文件里面,可以看到text里面的"\n"符号在文件里面得不到体现
FileWriter fwriter=new FileWriter(new File(filename).getAbsoluteFile());
BufferedWriter out=new BufferedWriter(fwriter);
String []tx=text.split("\n");
try{
for(int i=0;i<tx.length;i++)
{
out.write(tx[i]);
out.newLine();
}
}finally{
out.flush();
out.close();
}
}catch(IOException e){
throw new RuntimeException(e);
}
}
public static void main(String []args)
{
TextFile tf=new TextFile("TextFile.txt");
tf.write("dd.zip");
}
}
那么如何利用这个类读写文件呢?
1186

被折叠的 条评论
为什么被折叠?



