在远程服务器上打开文件[路径问题]

时间:2014-04-11 15:28:55

标签: java command-line ms-word

我正在开发一种车辆存储应用程序。一个功能是能够在远程服务器上以不同格式(word,excel,pdf)存储文档,而无需将服务器映射为单独的驱动器。
如果要打开的文件在本地硬盘驱动器上(即“C:/Documents/FileToOpen.docx”),一切正常,但我无法弄清楚路径的路径结构(即“C:/ Documents / FileToOpen.docx“在服务器上”SERVER06“)。我已经尝试了“//SERVER06/C/Documents/FileToOpen.docx”及其排列,但到目前为止还没有快乐。

public class Attachments extends javax.swing.JFrame {

    String docPath = "C:/Program Files/Microsoft Office/Office14/WINWORD.EXE";
    String excelPath = "C:/Program Files/Microsoft Office/Office14/EXCEL.EXE";
    String pdfPath = "C:/Program Files/Adobe/Reader 11.0/Reader/AcroRd32.exe";

    /**
     * Creates new form Attachments
     */
    public Attachments() {
        initComponents();

        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        this.setResizable(false);

    }

    public void setList(Set attachmentList) {
        DefaultListModel model = new DefaultListModel();
        Iterator i = attachmentList.iterator();
        int counter = 0;
        while (i.hasNext()) {
            model.add(counter, (Attachment) i.next());
            counter++;
        }
        listAttachments.setModel(model);
    }

    //form generation

    private void btnViewActionPerformed(java.awt.event.ActionEvent evt) {
        Attachment a = (Attachment) listAttachments.getSelectedValue();
        String type = a.getAttachmentUrl().substring(a.getAttachmentUrl().indexOf("."));
        String prog = "";
        if (type.substring(0, 2).equals(".d")) {
            prog = docPath;
        } else if (type.substring(0, 2).equals(".p")) {
            prog = pdfPath;
        } else if (type.substring(0, 2).equals(".x")) {
            prog = excelPath;
        }

        String commandString = "\"" + prog + "\" \"" + a.getAttachmentUrl() + "\"";
        Runtime rt = Runtime.getRuntime();
        try {
            rt.exec(commandString);
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
    }

    private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) {
        this.setVisible(false);
        this.dispose();
    }

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

假设您的服务器使用的是Windows操作系统,则服务器首先需要共享包含文档的文件夹。要执行此操作,请转到服务器,选择文件夹,右键单击并选择“共享”。要进行验证,请返回客户端计算机,打开Windows资源管理器并键入\ SERVER06 如果您的文件夹共享成功,您应该会看到名为' Documents'的文件夹。如果所有这些都很好,你的应用程序只需要使用" \\ SERVER06 \ Documents \ FileToOpen.docx"打开文件。