在最近的版本(Java 6.0)
中,Java 提供了 Desktop 类。该类的目的是在您的系统中打开与给定文件关联的应用程序。因此,如果您使用 Word 文档 (.doc) 调用 open() 方法,那么它会自动调用 MS Word,因为这是与 .doc 文件关联的应用程序。
我开发了一个小型 Swing 程序(尽管您可以将其开发为控制台应用程序)来从用户那里获取文档编号并将文档调用到MSWord
. 假设是;文件存储filename
在<document number>>.doc
.
下面给出的是 Java 程序,您可以按原样编译和运行它。确保将 DIR 变量更改为存储 .doc 文件的文件夹。
这是在 Java 中打开 Word Doc 的代码……它是从网络中提取的……
import java.io.File;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class WordDocument extends JFrame {
private JButton btnOpen;
private JLabel jLabel1;
private JTextField txtDocNumber;
private static String DIR ="c:\\worddocuments\\"; // folder where word documents are present.
public WordDocument() {
super("Open Word Document");
initComponents();
}
private void initComponents() {
jLabel1 = new JLabel();
txtDocNumber = new JTextField();
btnOpen = new JButton();
Container c = getContentPane();
c.setLayout(new java.awt.FlowLayout());
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Enter Document Number : ");
c.add(jLabel1);
txtDocNumber.setColumns(5);
c.add(txtDocNumber);
btnOpen.setText("Open Document");
btnOpen.addActionListener(new ActionListener() { // anonymous inner class
public void actionPerformed(ActionEvent evt) {
Desktop desktop = Desktop.getDesktop();
try {
File f = new File( DIR + txtDocNumber.getText() + ".doc");
desktop.open(f); // opens application (MSWord) associated with .doc file
}
catch(Exception ex) {
// WordDocument.this is to refer to outer class's instance from inner class
JOptionPane.showMessageDialog(WordDocument.this,ex.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);
}
}
});
c.add(btnOpen);
} // initCompnents()
public static void main(String args[]) {
WordDocument wd = new WordDocument();
wd.setSize(300,100);
wd.setVisible(true);
}
}