我在这里找到了VB和C#版本,但在Java中找不到。我有一个字符串,我想提示用户将他们的word文档另存为,并让他们决定在哪里。我已经打开文件使用:
public static void sendCommand(String command){
try {
Process p = Runtime.getRuntime().exec("cmd /C " + command);
BufferedReader input = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}}
public static void unzipOpenToSave(String zipName3){
command = "cmd.exe /c move "" + zipName3 + ".docx.zip" "" + zipName3 + ".docx"";
sendCommand(command);
//here we need to open the document and prompt to save as the name they just created
String unzippedPath = wholePath.substring(0,wholePath.length() - 4);
command = "rundll32 url.dll, FileProtocolHandler " + unzippedPath;
sendCommand(command);
}
我在这个网站的两个不同页面上找到了代码的想法。所以,接下来我需要打开一个提示来保存,字符串已经在他们键入名称的地方了。我想要么使用命令提示符使用相同的方法,要么只使用Java。有人有什么想法吗?谢谢
这还不错。我创建了一个框架,在框架中添加了文件选择器,修改了"批准按钮"的内容,设置了模式,使其显示我想要的名称,并将操作设置为按下按钮时(实际上是保存或重写文件)。以下是行之有效的方法:
JFrame saveFrame = new JFrame();
saveFrame.setVisible(true);
String unzippedPath = fullPath.substring(0,fullPath.length() - 4);
JFileChooser jfc = new JFileChooser();
jfc.setCurrentDirectory(new File(unzippedPath));
jfc.setSelectedFile(new File(newSavedFile4));
jfc.setApproveButtonText("Save");
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = jfc.showSaveDialog(null);
if(result == JFileChooser.APPROVE_OPTION){
in = new File(unzippedPath);
out = new File(jfc.getSelectedFile().toString() + ".docx");
System.out.println(out.getAbsolutePath());
int BUF_SIZE = (int) in.length();
FileInputStream fiss = new FileInputStream(in);
FileOutputStream foss = new FileOutputStream(out);
try{
byte[]buf = new byte[BUF_SIZE];
int i = 0;
while((i = fiss.read(buf)) != -1){
foss.write(buf, 0, i);
}
}
catch(Exception e){
throw e;
}
finally{
if(fiss != null) fiss.close();
if(foss != null) foss.close();
}
saveFrame.setVisible(false);
}
else if(result == JFileChooser.CANCEL_OPTION){
saveFrame.setVisible(false);
}
JPanel SPanel = new JPanel();
SPanel.setLayout(new FlowLayout());
SPanel.add(jfc);
saveFrame.setLayout(new FlowLayout());
saveFrame.add(SPanel);
saveFrame.pack();
saveFrame.setTitle("Save your Doc");
saveFrame.setLocationRelativeTo(null);
谢谢Luke D+1如果可以的话(我觉得我的分数还不够)(我是原始海报,不记得我的密码,对不起)
您可能会想使用Swing来实现这一点,假设您想以图形方式实现。JFileChooser是一个不错的选择。
http://docs.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html
此外,这里还有一个很好的例子。