0

我正在开发一种从集合中读取 XML 文件并将信息写入文本文件的工具。这个过程可能需要几秒钟,我的程序在标题中得到“无响应”......

有没有一种简单的方法来通知用户该程序仍在运行?比如用标签实现加载图像或 3 点动画?

我对这个话题没有经验

这是当前读取文件和写入 txt 的方法:

@FXML
public void FullFilterAndExport() throws JAXBException, IOException {
    totalFilesCount = 0;
    totalFilesCountPositive = 0;
    PrintWriter pWriter = new PrintWriter(new BufferedWriter(new FileWriter(DB_Path.toString() + "\\export_full.txt")));        
    for(String file: FileList) {
        if (file.endsWith(".xml") && !file.contains("databaseinfo.xml")) {
            totalFilesCount = totalFilesCount +1;
            ItemList.clear();
            JAXBContext context = JAXBContext.newInstance(NotesDocumentMetaFile.class);
            Unmarshaller um = context.createUnmarshaller();
            NotesDocumentMetaFile docMetaFile = (NotesDocumentMetaFile) um.unmarshal(new FileReader(file));

            for(int i = 0; i < docMetaFile.getItems().size(); i++) {
                if(docMetaFile.getItems().get(i).getValueIsSpecial() == true) {
                    ItemList.add("Itemname:" + docMetaFile.getItems().get(i).getName());
                }
            }
            if(!ItemList.isEmpty()) {
                totalFilesCountPositive = totalFilesCountPositive + 1;
                pWriter.println(file);
                pWriter.println();
                for(String item : ItemList) {
                    pWriter.println(item);
                }
                pWriter.println();
            }

        }
    }
    pWriter.println();
    pWriter.println("------------------");
    pWriter.println("Anzahl der geprüften Dateien: " + totalFilesCount);
    pWriter.println("Anzahl der geprüften positiven Dateien: " + totalFilesCountPositive);
    if (pWriter != null){ 
        pWriter.flush(); 
        pWriter.close();
    }
}
4

0 回答 0