Java Document读写文件内容
(2011-03-08 16:22:57)
标签:
杂谈 |
要点:
//@1
//以特定编码格式读取文件到xx??
//FileInputStream fis = new FileInputStream(f);
//BufferedReader in = new BufferedReader(new InputStreamReader(fis, charset));
//@2
//已发现如果存在DocumentListener或者UndoableEditListener
//在Document内监听的话,此时读取文件到Document将被阻塞,故先移除,等
//操作结束后再加回来
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import javax.swing.event.DocumentListener;
import javax.swing.event.UndoableEditListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Segment;
//@version 1.0
//@author langx 2011/03/01
class FileLoader implements Runnable {
Thread
t;
Document
doc;
DocumentListener documentListener;
UndoableEditListener undoableEditListener;
final File
f;
Charset
charset;
public
FileLoader(Document doc, DocumentListener listener1,
UndoableEditListener listener2, File f, Charset charset) {
this.doc = doc;
this.documentListener = listener1;
this.undoableEditListener = listener2;
this.f = f;
this.charset = charset;
if (this.charset == null ||
!Charset.isSupported(this.charset.name())) {
this.charset = Charset.defaultCharset();
}
}
public void
start() {
try {
t = new Thread(this);
t.setPriority(7);
t.start();
} catch (Exception exc) {
exc.printStackTrace();
}
}
public void
run() {
synchronized (f) {
FileInputStream fis = null;
BufferedReader in = null;
try {
fis = new FileInputStream(f);
in = new BufferedReader(new InputStreamReader(fis,
charset));//以特定编码格式读取文件
char[] buff = new char[4096];
//@1
//以特定编码格式读取文件到xx??
//FileInputStream fis = new FileInputStream(f);
//BufferedReader in = new BufferedReader(new InputStreamReader(fis, charset));
//@2
//已发现如果存在DocumentListener或者UndoableEditListener
//在Document内监听的话,此时读取文件到Document将被阻塞,故先移除,等
//操作结束后再加回来
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import javax.swing.event.DocumentListener;
import javax.swing.event.UndoableEditListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Segment;
//@version 1.0
//@author langx 2011/03/01
class FileLoader implements Runnable {

加载中…