Java-打开一个windows自带的程序

编写一个Test类,获取Runtime实例,使用exec()方法执行一个dos命令,用于打开一个windows自带的记事本程序。

import java.io.IOException;

public class Test {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub

		Runtime.getRuntime().exec("cmd /E:ON /c start C:\\Users\\admin\\Desktop\\test.txt");
		// E:ON 允许cmd扩展
		// c 指之后为字符串
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是一个基于Java Swing框架的记事本程序,实现了新建文件、保存、编辑、格式、帮助等功能: ```java import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.*; import java.awt.event.*; import java.io.*; public class Notepad extends JFrame implements ActionListener { private JTextArea textArea; private JScrollPane scrollPane; private String fileName; private boolean changed = false; public Notepad() { setTitle("记事本"); setSize(500, 500); setLocationRelativeTo(null); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); textArea = new JTextArea(); scrollPane = new JScrollPane(textArea); add(scrollPane, BorderLayout.CENTER); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu("文件"); JMenu editMenu = new JMenu("编辑"); JMenu formatMenu = new JMenu("格式"); JMenu helpMenu = new JMenu("帮助"); JMenuItem newMenuItem = new JMenuItem("新建"); JMenuItem openMenuItem = new JMenuItem("打开"); JMenuItem saveMenuItem = new JMenuItem("保存"); JMenuItem saveAsMenuItem = new JMenuItem("另存为"); JMenuItem exitMenuItem = new JMenuItem("退出"); newMenuItem.addActionListener(this); openMenuItem.addActionListener(this); saveMenuItem.addActionListener(this); saveAsMenuItem.addActionListener(this); exitMenuItem.addActionListener(this); fileMenu.add(newMenuItem); fileMenu.add(openMenuItem); fileMenu.add(saveMenuItem); fileMenu.add(saveAsMenuItem); fileMenu.addSeparator(); fileMenu.add(exitMenuItem); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(formatMenu); menuBar.add(helpMenu); setJMenuBar(menuBar); textArea.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { changed = true; } }); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { exit(); } }); } private void newFile() { if (changed) { int result = JOptionPane.showConfirmDialog(this, "是否保存当前文件?", "提示", JOptionPane.YES_NO_CANCEL_OPTION); if (result == JOptionPane.YES_OPTION) { save(); } else if (result == JOptionPane.CANCEL_OPTION) { return; } } fileName = null; setTitle("记事本"); textArea.setText(""); changed = false; } private void open() { if (changed) { int result = JOptionPane.showConfirmDialog(this, "是否保存当前文件?", "提示", JOptionPane.YES_NO_CANCEL_OPTION); if (result == JOptionPane.YES_OPTION) { save(); } else if (result == JOptionPane.CANCEL_OPTION) { return; } } JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(new FileNameExtensionFilter("文本文件(*.txt)", "txt")); int option = fileChooser.showOpenDialog(this); if (option == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { BufferedReader reader = new BufferedReader(new FileReader(file)); textArea.read(reader, null); reader.close(); fileName = file.getAbsolutePath(); setTitle("记事本 - " + fileName); changed = false; } catch (IOException e) { JOptionPane.showMessageDialog(this, "打开文件失败!", "错误", JOptionPane.ERROR_MESSAGE); } } } private void save() { if (fileName == null) { saveAs(); return; } try { BufferedWriter writer = new BufferedWriter(new FileWriter(fileName)); textArea.write(writer); writer.close(); setTitle("记事本 - " + fileName); changed = false; } catch (IOException e) { JOptionPane.showMessageDialog(this, "保存文件失败!", "错误", JOptionPane.ERROR_MESSAGE); } } private void saveAs() { JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(new FileNameExtensionFilter("文本文件(*.txt)", "txt")); int option = fileChooser.showSaveDialog(this); if (option == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file.exists()) { int result = JOptionPane.showConfirmDialog(this, "文件已存在,是否覆盖?", "提示", JOptionPane.YES_NO_OPTION); if (result == JOptionPane.NO_OPTION) { return; } } try { BufferedWriter writer = new BufferedWriter(new FileWriter(file)); textArea.write(writer); writer.close(); fileName = file.getAbsolutePath(); setTitle("记事本 - " + fileName); changed = false; } catch (IOException e) { JOptionPane.showMessageDialog(this, "保存文件失败!", "错误", JOptionPane.ERROR_MESSAGE); } } } private void exit() { if (changed) { int result = JOptionPane.showConfirmDialog(this, "是否保存当前文件?", "提示", JOptionPane.YES_NO_CANCEL_OPTION); if (result == JOptionPane.YES_OPTION) { save(); } else if (result == JOptionPane.CANCEL_OPTION) { return; } } System.exit(0); } @Override public void actionPerformed(ActionEvent e) { JMenuItem source = (JMenuItem) e.getSource(); if (source.getText().equals("新建")) { newFile(); } else if (source.getText().equals("打开")) { open(); } else if (source.getText().equals("保存")) { save(); } else if (source.getText().equals("另存为")) { saveAs(); } else if (source.getText().equals("退出")) { exit(); } } public static void main(String[] args) { Notepad notepad = new Notepad(); notepad.setVisible(true); } } ``` 这个程序实现了基本的新建、打开、保存、另存为、退出功能,并且在关闭窗口时会自动进行保存提示。用户也可以通过菜单栏进行相应操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值