⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textfile.java

📁 看thinkinjava学习java时
💻 JAVA
字号:
package myutils;
import java.io.*;
import java.util.*;

//static functions for reading and writing text files as a
//single string, and treating a file as an ArrayList

public class TextFile extends ArrayList<String> {
	//Read a file as a single 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();
	}
	
	//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 leave an empty 
		//String at the first position
		if(get(0).equals(""))
			remove(0);
	}
	//Normally read by lines
	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 main(String[] args) {
		String file = read("E:/temp/buildutil/myutils/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("E:/temp/buildutil/myutils/TextFile.java","\\W+"));
		//
		System.out.println(words.headSet("a"));
		
	

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -