zoukankan      html  css  js  c++  java
  • 可以直接用的文件读取类

    1.这个类可以直接使用

    //: net/mindview/util/TextFile.java
    // Static functions for reading and writing text files as
    // a single string, and treating a file as an ArrayList.
    package com.feilong.reptile.util;
    import java.io.*;
    import java.util.*;
    
    public class TextFile extends ArrayList<String> {
      // Read a file as a single string:
      // 这里的fileName 要用全路经,带文件名的那种。 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(" "); } } finally { in.close(); } } catch(IOException e) { throw new RuntimeException(e); } return sb.toString(); } // Write a single file in one method call: 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(IOException e) { throw new RuntimeException(e); } } // Read a file, split by any regular expression: public TextFile(String fileName, String splitter) { super(Arrays.asList(read(fileName).split(splitter))); // Regular expression split() often leaves an empty // String at the first position: if(get(0).equals("")) remove(0); } // Normally read by lines: public TextFile(String fileName) { this(fileName, " "); } 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); } } // Simple test: public static void main(String[] args) { String file = read("TextFile.java"); write("test.txt", file); TextFile text = new TextFile("test.txt"); text.write("test2.txt"); // Break into unique sorted list of words: TreeSet<String> words = new TreeSet<String>( new TextFile("TextFile.java", "\W+")); // Display the capitalized words: System.out.println(words.headSet("a")); } } /* Output: [0, ArrayList, Arrays, Break, BufferedReader, BufferedWriter, Clean, Display, File, FileReader, FileWriter, IOException, Normally, Output, PrintWriter, Read, Regular, RuntimeException, Simple, Static, String, StringBuilder, System, TextFile, Tools, TreeSet, W, Write] *///:~
  • 相关阅读:
    【转】HTTP 状态码详解
    程序员自我提升之粗粮与细粮
    配置Eclipse支持MacBook Pro Retina屏幕的办法(解决Retina屏幕下eclipse字体变虚的问题)
    IE6下lineheight失效:当文字与图片img在同一行中显示时lineheight失效的解决办法
    2013年第二周的总结
    为什么这么多的云存储产品却没有一个能够统一管理它们的应用出现
    微软的云笔记:OneNote+SkyDrive
    完美的外出上网解决方案随身随地享用你的专有WIFI网络(3G无线路由器+sim卡卡托+3G资费卡)
    [转]如何才能更加有效率
    Perl Note
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/11134657.html
Copyright © 2011-2022 走看看