zoukankan      html  css  js  c++  java
  • Java I/O学习 文件读写工具

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.FilenameFilter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.ObjectInputStream.GetField;
    import java.lang.ref.PhantomReference;
    import java.lang.ref.Reference;
    import java.lang.ref.ReferenceQueue;
    import java.lang.ref.SoftReference;
    import java.lang.ref.WeakReference;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Set;
    import java.util.regex.Pattern;
    
    
    class TextFile extends ArrayList<String> {
    	
    	public TextFile(String filename, String splitter) {
    		super(Arrays.asList(read(filename).split(splitter)));
    	}
    	
    	//通过文件路径读取一行一行的读取文件信息
    	public static String read(String filename){
    		StringBuilder sb = new StringBuilder();
    		BufferedReader br = null;
    		try {
    			br = new BufferedReader(new FileReader(new File(filename).getAbsolutePath()));
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    		String s;
    		try {
    			while ((s = br.readLine()) != null) {
    				sb.append(s); sb.append("
    ");
    			}
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			try {
    				br.close(); //记得要关闭文件
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		return sb.toString();
    	}
    	
    	//通过文件名,以及要写入的内容,一追加的方式写入文件
    	public static void write(String filename, String text) throws IOException {
    		PrintWriter pw = null;
    		try {
    			//设置为追加的方式
    			pw = new PrintWriter(new FileWriter(filename, true));
    			pw.println(text);
    			
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			pw.close(); //关闭
    		}		
    	}
    	//这个写入是根据构造函数,构造之后读取了信息,然后写入指定文件
    	public void write(String filename) {
    		PrintWriter pw = null;
    		try {
    			pw = new PrintWriter(new FileWriter(filename, true));
    			for (String item : this) {
    				pw.println(item);
    			}
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			pw.close();
    		}
    	}
    	
    }
    public class Test{
    
    	public static void main(String[] args) throws IOException {
    		TextFile.write("/home/estar/Test/a.java", "加油,你行");
    		System.out.println(TextFile.read("/home/estar/Test/a.java"));
    		
    		TextFile textFile = new TextFile("/home/estar/Test/a.java", "
    ");
    		textFile.write("/home/estar/Test/b.java");
    		System.out.println(TextFile.read("/home/estar/Test/b.java"));
    	}
    }
    

      

  • 相关阅读:
    毕业生的商业软件开发之路 C#语言简介
    [毕业生的商业软件开发之路]第一次使用VS.NET集成开发环境
    一种应用程序命令执行架构设计
    DCWriter 电子病历文档编辑器的 电子病历功能规范对照表
    [毕业生的商业软件开发之路]积累与创新
    WEB开发人员的微软技术战略
    PureMVC(AS3)剖析:吐槽
    走在网页游戏开发的路上(九)
    [服务器开发]可伸缩系统的设计模式(译)
    回合制页游
  • 原文地址:https://www.cnblogs.com/E-star/p/3443292.html
Copyright © 2011-2022 走看看