Java 刷新文档

Java 刷新文档,java,text,text-editor,Java,Text,Text Editor,我有一个写/读.txt文件的程序,我会把它放在底部,这样我可以先问我的问题:通常,如果我打开文件并运行程序,我需要关闭.txt文件并重新打开它,以便查看程序所做的更改。有没有办法刷新程序中的文档,使其在我眼前实时更改?节目如下: package SingleThings; import java.io.*; public class TextUtil { public String path; public String[] lines; public TextUt

我有一个写/读.txt文件的程序,我会把它放在底部,这样我可以先问我的问题:通常,如果我打开文件并运行程序,我需要关闭.txt文件并重新打开它,以便查看程序所做的更改。有没有办法刷新程序中的文档,使其在我眼前实时更改?节目如下:

package SingleThings;

import java.io.*;

public class TextUtil {
    public String path;
    public String[] lines;

    public TextUtil(String pathy,int length){
        path=pathy;
        makeFile();
        lines = new String[length];
        for(int i = 0;i<length;i++){
            lines[i]=getLine(i+1);
        }
    }


    public void clear(){
        try{
            FileWriter write = new FileWriter(path , false);
        }catch(IOException e){
            System.out.println("There was a problem oh noesss " + e);
        }
    }

    private void makeFile(){
        try {
            File file = new File(path);
            if (file.createNewFile()){
                System.out.println("Creating file...");
            }else{
                System.out.println("Loading file...");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public String getLine(int line){
        BufferedReader in;
        String read = null;
        int linenum = line;
        try {
            in = new BufferedReader(new FileReader(path));
            while(linenum > 0){
                read = in.readLine();
                linenum--;
            }
            in.close();
            return read;
        }catch(IOException e){
            System.out.println("There was a problem:" + e);
            return "error";
        }
    }

    private void write(String text){
        BufferedWriter out;
        try {
            out = new BufferedWriter(new FileWriter(path,true));
            out.write(text);
            out.newLine();
            out.close();
        }catch(IOException e){
            System.out.println("There was a problem:" + e);
        }
    }

    public void update(){
        clear();
        for(int i=0;i<lines.length;i++){
            if(lines[i]!=null){
                write(lines[i]);
            }else{
                write("");
            }
        }
    }
}
packagesinglethings;
导入java.io.*;
公共类TextUtil{
公共字符串路径;
公共字符串[]行;
public TextUtil(字符串长度,整数长度){
path=path;
makeFile();
行=新字符串[长度];
对于(int i=0;i 0){
read=in.readLine();
linenum--;
}
in.close();
返回读取;
}捕获(IOE异常){
System.out.println(“出现问题:+e);
返回“错误”;
}
}
私有无效写入(字符串文本){
缓冲写入输出;
试一试{
out=new BufferedWriter(new FileWriter(path,true));
写出(文本);
out.newLine();
out.close();
}捕获(IOE异常){
System.out.println(“出现问题:+e);
}
}
公共无效更新(){
清除();

对于(int i=0;i请稍微澄清一下您的问题:您的意思是希望外部编辑器在您的程序关闭其写入流后立即显示您的更改吗?如果是这种情况,则您的问题与Java无关,而是与您使用的特定编辑器有关。如果您能提供一个简短的工作(模块错误)将有所帮助程序,必须包含一个
main
方法。不确定是否正在或需要在单独的线程中运行此程序。