• 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"));
    	}
    }
    

      

  • 相关阅读:
    No configuration found for this host:al
    相对路径和绝对路径
    工具类学习
    JRebel没有自动部署的解决方法
    之前写了http解析高德地图时,json转对象搞了半天 , 今天同事用GSON把json转对象,一句代码就解决了,代码如下
    导入项目时遇到的问题
    解析Http请求调用高德地图的api(货车路径规划)
    二进制中的符号位的区分以及表示
    svn提交及更新时的常见问题
    JDBC 连接池下重构操作
  • 原文地址:https://www.cnblogs.com/E-star/p/3443292.html
Copyright © 2020-2023  润新知