import javaioBufferedReader;
import javaioBufferedWriter;
import javaioFile;
import javaioFileReader;
import javaioFileWriter;
import javaioIOException;
import javautilArrayList;
import javautilList;
/**
* 用于对记事本的操作
*
* @author 沙琪玛
*
*/
public class NoteOperate {
// txt文件路径
private String filePath;
/**
* 构造函数
*
* @param filePath
* 文本文件全路径
*/
public NoteOperate(String filePath) {
thisfilePath = filePath;
}
/**
* 构造函数
*
* @param file
* 需要读取的文本文件
*/
public NoteOperate(File file) {
thisfilePath = filegetPath();
}
/**
* 判断文本文件是否存在
*
* @return 存在返回true 否则返回false
*/
public boolean exists() {
File file = new File(thisfilePath);
return fileexists();
}
/**
* 得到这个txt所有的列的数据 空行将自动跳过并自动删除文字前后的空格
*
* @return List<String>
* @throws IOException
*/
public List<String> fileLinesContent() throws IOException {
List<String> strs = new ArrayList<String>();
File file = new File(thisfilePath);
FileReader fr = new FileReader(file);// 建立FileReader对象并实例化为fr
BufferedReader br = new BufferedReader(fr);// 建立BufferedReader对象并实例化为br
String Line = brreadLine();// 从文件读取一行字符串
// 判断读取到的字符串是否不为空
while (Line != null) {
if (!equals(Line))
strsadd(Linetrim());
Line = brreadLine();// 从文件中继续读取一行数据
}
brclose();// 关闭BufferedReader对象
frclose();// 关闭文件
return strs;
}
/**
* 创建一个空的记事本文档 如果这个记事本文档存在就不再创建 函数还未写实现部分<br/> 如果文本已经存在则不再创建
*
* @throws IOException
*/
public void createEmptyNote() throws IOException {
File file = new File(thisfilePath);
if (!fileexists())
filecreateNewFile();
}
/**
* 将内容写入这个文本 注意以前的内容将会被删除
*
* @param str
* 将要写入的内容
* @throws IOException
*/
public void writeString(String str) throws IOException {
File file = new File(thisfilePath);
BufferedWriter output = new BufferedWriter(new FileWriter(file));
outputwrite(str);
outputclose();// 关闭BufferedReader对象
}
/**
* 在文本的指定行插入文字如果该行已经存在该行内容将会被删除如果行号不存在将会被插入到最后一行
*
* @param i
* 行号 行号为时将插入到最后一行
* @param str
* 将要插入的内容
* @throws IOException
*/
public void insertWords(int i String str) throws IOException {
List<String> strs = fileLinesContent();
// 进行插入操作
if (i == || strssize() < i) // 插入到最后一行
{
strsadd(str);
} else { // 插入到文本中
strsset(i str);
}
// 重新写入到文本
StringBuffer sb = new StringBuffer();
for (String temp : strs) {
sbappend(tempreplace(\r\n )+\r\n);
}
writeString(sbtoString());
}
}