• 可以直接用的文件读取类


    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] *///:~
  • 相关阅读:
    linux execl()函数 关于execl()函数族的用法不在赘述,
    mysql日期格式化
    JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的
    GO语言web框架Gin之完全指南
    计算机专业四年本科的课程表是什么样的?
    文化常识大全201901 普通老百姓交的朋友谓“布衣之交”
    JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的
    linux bash吧,还有啥Bourne Again Shell
    TCP、UDP服务器模型 在网络程序里面,通常都是一
    SpringMVC常见面试题总结(超详细回答)
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/11134657.html
Copyright © 2020-2023  润新知