gpt4 book ai didi

Java : Open file in default editor and jump to line number

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:18 25 4
gpt4 key购买 nike

在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com