在 Java 中有什么方法可以在默认文本编辑器中打开文件并跳转到行号?用户只会输入文件名和行号。
我可以使用以下代码在默认编辑器中打开文件
java.awt.Desktop.getDesktop().edit(new File(filename));
但是我想跳转到特定的行号。
最佳答案
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.*;
// ...
public void solve() {
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice screen = env.getDefaultScreenDevice();
Robot robot = null;
try {
robot = new Robot(screen);
} catch (AWTException e) {
e.printStackTrace();
}
int lineNumber = 15; // your line number
try {
Desktop.getDesktop().edit(new File(filename));
Thread.sleep(100L);
for (int i = 0; i < lineNumber; i++) {
robot.keyPress(KeyEvent.VK_DOWN);
Thread.sleep(10L);
}
} catch (Exception e) {
e.printStackTrace();
}
}
您必须使用 Thread.sleep,因为该文件应该启动,快速按键是不好的。我们多次单击向下箭头键。
关于Java : Open file in default editor and jump to line number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34526461/