我正在开发一种车辆存储应用程序。一个功能是能够在远程服务器上以不同格式(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();
}
有没有办法实现这个目标?
答案 0 :(得分:0)
假设您的服务器使用的是Windows操作系统,则服务器首先需要共享包含文档的文件夹。要执行此操作,请转到服务器,选择文件夹,右键单击并选择“共享”。要进行验证,请返回客户端计算机,打开Windows资源管理器并键入\ SERVER06 如果您的文件夹共享成功,您应该会看到名为' Documents'的文件夹。如果所有这些都很好,你的应用程序只需要使用" \\ SERVER06 \ Documents \ FileToOpen.docx"打开文件。