Как открыть файл блокнота в Java?

Я хочу открыть Блокнот в моей Java-программе. Предположим, что у меня есть одна кнопка, если я нажму эту кнопку, появится блокнот. Как я могу реализовать этот случай?

Я хочу открыть Блокнот в моей Java-программе. Предположим, что у меня есть одна кнопка, если я нажму эту кнопку, появится блокнот. Как я могу реализовать этот случай?

Я хочу открыть Блокнот в моей Java-программе. Предположим, что у меня есть одна кнопка, если я нажму эту кнопку, появится блокнот. У меня уже есть имя файла и каталог.

Как мне реализовать этот случай?

7
задан Ivar 23 November 2017 в 10:02
поделиться

3 ответа

Предполагая, что вы хотите запустить программу windows notepad.exe, вы ищете exec функцию. Вы, вероятно, хотите вызвать что-то вроде:

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\path\\to\\notepad.exe C:\\path\\to\\file.txt");

Например, на моей машине блокнот находится по адресу C:\Windows\notepad.exe:

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\Windows\\notepad.exe C:\\test.txt");

Это откроет блокнот с файлом test.txt, открытым для редактирования.

Обратите внимание, что вы также можете указать третий параметр для exec, который является рабочим каталогом для выполнения из - таким образом, вы можете запустить текстовый файл, который хранится относительно рабочего каталога вашей программы.

5
ответ дан 6 December 2019 в 04:59
поделиться

Попробуйте

if (Desktop.isDesktopSupported()) {
    Desktop.getDesktop().edit(file);
} else {
    // dunno, up to you to handle this
}

Убедитесь, что файл существует. Спасибо Andreas_D, который указал на это.

21
ответ дан 6 December 2019 в 04:59
поделиться

Используя SWT, вы можете запустить любую программу. Если вы хотите эмулировать двойной щелчок по тексту в окнах, это возможно не только с помощью обычной JRE. Вы можете использовать нативную библиотеку, такую как SWT, и использовать следующий код для открытия файла:

    org.eclipse.swt.program.Program.launch("c:\path\to\file.txt")

Если вы не хотите использовать стороннюю библиотеку, вы должны знать и знаете, где находится notepad.exe (или он виден в PATH):

    runtime.exec("notepad.exe c:\path\to\file.txt");

Apache common-exec - хорошая библиотека для обработки выполнения внешних процессов.

UPDATE: Более полный ответ на ваш вопрос можно найти здесь

2
ответ дан 6 December 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: