大文件打开语法高亮超过50M 自动关闭
parent
4c250778da
commit
f815ccae87
|
|
@ -32,6 +32,7 @@ import javafx.stage.FileChooser;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import javafx.util.Callback;
|
import javafx.util.Callback;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import org.fxmisc.flowless.VirtualizedScrollPane;
|
import org.fxmisc.flowless.VirtualizedScrollPane;
|
||||||
import org.fxmisc.richtext.CodeArea;
|
import org.fxmisc.richtext.CodeArea;
|
||||||
|
|
@ -75,6 +76,7 @@ public class FileEditController {
|
||||||
GO,
|
GO,
|
||||||
JS,
|
JS,
|
||||||
CSS,
|
CSS,
|
||||||
|
SQL
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
|
|
@ -109,7 +111,7 @@ public class FileEditController {
|
||||||
Stage stage = new Stage();
|
Stage stage = new Stage();
|
||||||
FileChooser dc = new FileChooser();
|
FileChooser dc = new FileChooser();
|
||||||
dc.setTitle("文件选择");
|
dc.setTitle("文件选择");
|
||||||
dc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("文件类型", "*.java", "*.go", "*.txt", "*.json"));
|
dc.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("文件类型", "*.java", "*.go", "*.txt", "*.json","*.sql"));
|
||||||
File file = dc.showOpenDialog(stage);
|
File file = dc.showOpenDialog(stage);
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
refresh(file, true);
|
refresh(file, true);
|
||||||
|
|
@ -266,10 +268,11 @@ public class FileEditController {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!(FileUtils.sizeOf(file) > 50 * 1024 * 1024 )){
|
||||||
codeArea.textProperty().addListener((obs, oldText, newText) -> {
|
codeArea.textProperty().addListener((obs, oldText, newText) -> {
|
||||||
codeArea.setStyleSpans(0, computeHighlighting(newText, type));
|
codeArea.setStyleSpans(0, computeHighlighting(newText, type));
|
||||||
});
|
});
|
||||||
|
}
|
||||||
codeArea.replaceText(0, 0, file_content);
|
codeArea.replaceText(0, 0, file_content);
|
||||||
Tab tab = new Tab(file.getName());
|
Tab tab = new Tab(file.getName());
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue