📄 textfile.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 + -