从Java打开文档的更好方法?

从Java打开文档的更好方法?,第1张

概述从Java打开文档的更好方法

我一直在使用下面的代码来打开我的windows计算机上使用Java的Office文档,pdf等,它的工作正常,除了某些原因,当一个文件名已经embedded它的多个连续的空间,如“文件[空间] [ SPACE] Test.doc的”。

我怎样才能做这个工作? 我并不反对整段代码…但是我宁愿不把它replace成调用JNI的第三方库。

public static voID opendocument(String path) throws IOException { // Make forward slashes backslashes (for windows) // Double quote any path segments with spaces in them path = path.replace("/","\").replaceAll( "\\([^\\\\"]* [^\\\\"]*)","\\\"$1""); String command = "C:\windows\System32\cmd.exe /c start " + path + ""; Runtime.getRuntime().exec(command); }

编辑:当我运行与错误的文件窗口抱怨find该文件。 但是…当我直接从命令行运行命令行,它运行得很好。

如何在Java 9中获得Processline和Process的参数

Java运行时进程不会“grep”

使用Fortran求解器在windows 64位上安装Odespy

万无一失的跨平台进程kill守护进程

在linux中顺序分配进程ID?

windows上的Java 8 64位,符合FIPS 140标准的NSS

PHP-FPM – 杀死所有属于PHP-fpm的linux进程 – 一个命令行

如何使meteor在windows 10上的64位mongodb上工作?

在64位进程(特别是Flash)中托pipe32位OCX

windows,多进程vsmultithreading

如果您正在使用Java 6,则可以使用java.awt.Desktop的open方法使用当前平台的默认应用程序启动该文件。

不知道这是否会帮助你很多…我使用java 1.5 +的ProcessBuilder在java程序中启动外部shell脚本。 基本上我做了以下 *** 作:(虽然这可能不适用,因为你不想捕获命令的输出;你实际上想要启动文件 – 但也许这会引发你可以使用的东西)

List<String> command = new ArrayList<String>(); command.add(someExecutable); command.add(someArguemnt0); command.add(someArgument1); command.add(someArgument2); ProcessBuilder builder = new ProcessBuilder(command); try { final Process process = builder.start(); ... } catch (IOException ioe) {}

问题可能是您正在使用的“开始”命令,而不是您的文件名解析。 例如,这似乎在我的WinXP机器上运行良好(使用JDK 1.5)

import java.io.IOException; import java.io.file; public class test { public static voID opendocument(String path) throws IOException { path = """ + path + """; file f = new file( path ); String command = "C:\windows\System32\cmd.exe /c " + f.getPath() + ""; Runtime.getRuntime().exec(command); } public static voID main( String[] argv ) { test thisApp = new test(); try { thisApp.opendocument( "c:\so\My Doc.doc"); } catch( IOException e ) { e.printstacktrace(); } } }

总结

以上是内存溢出为你收集整理的从Java打开文档的更好方法?全部内容,希望文章能够帮你解决从Java打开文档的更好方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存