Java代码获取服务器所装office版本

作者&投稿:字剑 (若有异议请与网页底部的电邮联系)
java 怎么读取服务器上的word文件中的内容~

通过流来读取,例如:
TextFileForm fileForm = (TextFileForm) form; FormFile formFile = fileForm.getTxtFile(); if (formFile.getFileData().length == 0) { response.setCharacterEncoding("gb2312"); response.getWriter().write(""); } InputStream in = formFile.getInputStream(); WordExtractor extractor = new WordExtractor(); String str = extractor.extractText(in);这段代码就是负责读取word的

确保你的电脑中安装了openoffice必须把OpenOffice以后台服务方式启动,这需要这么一串参数:
-invisible -accept=socket,host=0,port=2002;urp;
invisible表示静默方式运行,
后面一串东西基本的意思就是:openoffice会在你指定的端口(这儿用的是2002)
监听用户的请求。(该字符串更具体的含义和对应功能,自行查询开发文档相关章节)然后,我们必须更动之前获取XComp对象的代码,精确的说,我们必须更动获取XComponentContext 对象的代码。不再有BoolStap,而代之以一串更长的东西,这段东西非常的长,幸好,你只要直接copy过来就好,你可以在SDK的examples\java\ConverterServlet.java中找到这串东西,(注意,原始示例中使用的端口号不是之前我们指定的2002)获取到Context之后,我们的代码没有变化,其他的流程一切照旧,所有的参数也一模一样。监听模式下,还有一个附带的好处:你可以放心的把那几个jar拷贝到你需要的任何地方,而用不着非要指向OpenOffice的原始安装目录了。

可以呀,访问注册表,给你一段代码自己看吧。

import java.util.ArrayList;
import java.lang.reflect.Method;
final class WinRegisterUtil {
  // root key value defined by windows
  public static final int HKEY_CLASSES_ROOT = 0x80000000;
  public static final int HKEY_CURRENT_USER = 0x80000001;
  public static final int HKEY_LOCAL_MACHINE = 0x80000002;
  public static final int HKEY_USERS = 0x80000003;
  public static final int HKEY_PERFORMANCE_DATA = 0x80000004;
  public static final int HKEY_CURRENT_CONFIG = 0x80000005;
  //Constants used to interpret returns of native functions
  public static final int NATIVE_HANDLE = 0;
  public static final int ERROR_CODE = 1;
  //Windows security masks
  public static final int DELETE = 0x10000;
  public static final int KEY_QUERY_VALUE = 1;
  public static final int KEY_SET_VALUE = 2;
  public static final int KEY_CREATE_SUB_KEY = 4;
  public static final int KEY_ENUMERATE_SUB_KEYS = 8;
  public static final int KEY_READ = 0x20019;
  public static final int KEY_WRITE = 0x20006;
  public static final int KEY_ALL_ACCESS = 0xf003f;
  //error codes
  public static final int ERROR_SUCCESS = 0;
  public static final int ERROR_FAILED = -1;
  private static final Integer MAX_KEY_LENGHT = new Integer(100);
  private static final Class theClass = getUtilClass();
  private static Class getUtilClass() {
 try {
   return Class.forName("java.util.prefs.WindowsPreferences");
 }
 catch (Exception e) {
   return null;
 }
  }
  // hKey: 跟键,列在类头,HKEY_CURRENT_USER
  // subKey: 相对hKey的路径,例如:"Software\\ODBC"
  // securityMask:读写权限,列在类头,KEY_ALL_ACCESS
  public static int[] windowsRegOpenKeyEx(int hKey, String subKey,
       int securityMask) {
 try {
   Method m = theClass.getDeclaredMethod("WindowsRegOpenKey",
      new Class[] {int.class, byte[].class, int.class});
   m.setAccessible(true);
   Object ret = m.invoke(null, new Object[] {new Integer(hKey),
    stringToByteArray(subKey), new Integer(securityMask)});
   return (int[]) ret;
 }
 catch (Exception e) {
   System.out.println("Exception windowsRegOpenKeyEx!");
   return new int[] {
   0, ERROR_FAILED};
 }
  }
  // 关闭注册表
  public static void windowsRegCloseKey(int hKey) {
 try {
   Method m = theClass.getDeclaredMethod("WindowsRegCloseKey", new Class[] {int.class});
   m.setAccessible(true);
   m.invoke(null, new Object[] {new Integer(hKey)});
 }
 catch (Exception e) {
   System.out.println("Exception windowsRegCloseKey!");
 }
  }
  // hKey父键的句柄
  // key子键的字符串,是中文时取不到
  public static String windowsRegQueryValueEx(int hKey, String key) {
 try {
   Method m = theClass.getDeclaredMethod("WindowsRegQueryValueEx",
      new Class[] {int.class, byte[].class});
   m.setAccessible(true);
   Object value = m.invoke(null, new Object[] {new Integer(hKey),
      stringToByteArray(key)});
   if (value == null) {
 return null;
   }
   return winByteArrayToString( (byte[]) value);
 }
 catch (Exception e) {
   System.out.println("Exception windowsRegQueryValueEx!");
   return null;
 }
  }
  // 枚举hKey下的值,valueIndex从0开始计数
  public static String windowsRegEnumValue(int hKey, int valueIndex) {
 try {
   Method m = theClass.getDeclaredMethod("WindowsRegEnumValue",
      new Class[] {int.class, int.class, int.class});
   m.setAccessible(true);
   Object value = m.invoke(null, new Object[] {new Integer(hKey),
      new Integer(valueIndex), MAX_KEY_LENGHT});
   return winByteArrayToString( (byte[]) value);
 }
 catch (Exception e) {
   System.out.println("Exception windowsRegEnumValue!");
   return null;
 }
  }
  private static byte[] stringToByteArray(String str) {
 byte[] result = new byte[str.length() + 1];
 for (int i = 0; i < str.length(); i++) {
   result[i] = (byte) str.charAt(i);
 }
 result[str.length()] = 0;
 return result;
  }
  private final static String winByteArrayToString(byte[] array) {
 if (array == null) {
   return null;
 }
 int pos = array.length - 1;
 while (pos >= 0) {
   if (array[pos] != '\0') {
 break;
   }
   pos--;
 }
 if (pos >= 0) {
   return new String(array, 0, pos + 1);
 }
 else {
   return null;
 }
  }
}


直接通过java获取貌似不能获取到,建议你使用JNI 调用其他的程序
比如windows的批处理脚本这些来获取到 后返回给JAVA端


服务器上的文件Java获取Linux服务器文件简单又高效的操作方法java获取lin...
1. 构建Linux服务器文件路径:确定需要操作的文件路径,构建本地存储路径,读取Linux服务器文件到本地存储路径。2. 通过java NIO类库支持,读取Linux服务器上指定文件

java版gRPC实战之六:客户端动态获取服务端地址
Java版gRPC实战之六:动态客户端获取服务端地址在《java版gRPC实战》系列的第六部分中,我们将探讨客户端如何在不预先知悉服务端地址的情况下进行动态连接。通常,在开发过程中,客户端会直接配置固定的服务端地址,包括IP和端口。然而,这种方法并不适用于需要动态改变服务地址的场景。在本文中,我们不再依...

java获取服务器文件,怎样用url返回
\/\/获取服务器返回Http的Content-Type的值tempStr=response.getHeaders("Content-Type")[0].getValue().toString();\/\/获取服务器返回页面的值entity=response.getEntity();xmlContent=EntityUtils.toString(entity);Stringstrmessage=null;System.out.println(xmlContent);System.out.println(response.getHeade...

java获取服务器文件,怎样用url返回
第一种; response.setStatus(302);response.setHeader("location", "\/dayX\/MyHtml.html"); 该方式可以重定向到服务器指定页面 当然还有以下方式:第二种;请求转发 请求转发是指将请求再转发到另一资源(一般为JSP或Servlet)。此过程依然在同一个请求范围内,转发后浏览器地址栏内容不变 请求转...

关于如何在java的web应用获取服务器资源
1. 在servlet中通过getServletContext().getRealPath(“”)可以获得服务器某个资源的真实路径,然后可以通过创建URL,或者创建IO流来获取资源。2. 在servlet中通过getServletContext().getResourceAsStream(“”)来获得资源流。3. 在jsp中通过pageContext来获得ServletContext对象pageContext.getServlet...

java获取服务器名称
刚好之前做过一个,代码给你看看。这个可以得到jdk的版本。System.getProperty("java.version")这个可以得到tomcat版本 application.getServerInfo()另外,还可以得到数据库信息,利用Connection得到DatabaseMetaData对象,从DatabaseMetaData对象就可以获取到数据库的全部信息。这个自己去查一下api就知道了 ...

如何通过Java代码获取tomcat服务器的绝对路径
\/\/也许有你想要的,前提是在项目布署运行起来后,在servlet中或controller中运行以下代码即可。System.out.println(this.getClass().getResource("\/"));\/\/结果:file:\/E:\/work\/service\/tomcat7.0.65\/webapps\/mvc_adminlte\/WEB-INF\/classes\/System.out.println(System.getProperty("catalina.home"));...

java怎样获得系统服务状态
不过也可以用java执行系统命令 下面是大多数linux启动的服务 chkconfig命令可以帮助你开启还是关闭服务,service command is usefull 主意,在suse linux下面,没有service命令!做为RED HAT LINUX的启动来说,如果只是个人使用的话,只需要启用以下服务,如果还在精减的话,只启用Network就可,这是Fedora core 2启动...

java 如何获取服务器类型(是tomcat或者是weblogic)
ServerDetector.java 可以判断服务器类型:if(ServerDetector.isTomcat()){\/\/tomcat server \/\/ }else if(ServerDetector.isWebLogic()){\/\/weblogic server \/\/ }

在本地用Java程序获取服务器上的时间,具体怎么做?给代码最好。
用servlet public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException { String time =(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());PrintWriter out = response.getWriter();out.println("");out.println("");out.println(""...

峄城区15530238657: 如何获取局域网内所有IP地址 java代码 -
宋矿美卡: 1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)2.根据IP类型,一次遍历局域网内IP地址 JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可 代码如下:...

峄城区15530238657: java获取服务器文件,怎样用url返回 -
宋矿美卡: 下面提供二种方法会使用java发送url请求,并获取服务器返回的值 第一种方法:代码如下:import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; ...

峄城区15530238657: javaweb 程序怎么知道放在哪一个服务器IP 上运行了? -
宋矿美卡: 您好,Java语言是开源的,如果您的源码被盗用,那么随之的源码内容很可能会被修改.如果对方没有发现您内部实现的这个功能,可能您还可以发现被盗用后锁存放的ip地址,如果对方发现有这个功能,那么直接删除或者修改,您就没有办法...

峄城区15530238657: java如何获取服务器路径 -
宋矿美卡: 服务器使用的是什么?tomcat?String loadpath = request.getSession().getServletContext().getRealPath("/"); String root = new File(loadpath).getParentFile().getParentFile().getAbsolutePath(); 这个可以获取到tomcat的服务器的项目的同级目录

峄城区15530238657: 怎么用Java获取远程服务器中指定目录上的所有文件 -
宋矿美卡: 直接的貌似不可以的,你可以在远程服务器上写个读指定目录下所有文件夹名的代码文件,当前客户端再调用那个代码文件显示出来

峄城区15530238657: java代码获取服务器 MySql 的bin目录 -
宋矿美卡: File file=new File("D:\Program Files\MySQL Server 5.5\bin\"); String test[]; test=file.list(); for(int i=0;i { System.out.println(test[i]); } 输出bin目录下所有文件

峄城区15530238657: 如何通过Java代码获取tomcat服务器的绝对路径 -
宋矿美卡: //也许有你想要的,前提是在项目布署运行起来后,在servlet中或controller中运行以下代码即可.System.out.println(this.getClass().getResource("/"));//结果:file:/E:/work/service/tomcat7.0.65/webapps/mvc_adminlte/WEB-INF/classes/ System....

峄城区15530238657: 能用JAVA编码下列程序:“完成代码段:输出本地主机IP地址”
宋矿美卡: import java.net.InetAddress; import java.net.UnknownHostException;public class a {/** * @param args */ public static void main(String[] args) {InetAddress addr; try { addr = InetAddress.getLocalHost(); String ip = addr.getHostAddress().toString()...

峄城区15530238657: java语言中那些代码可以获得服务器当前运行的服务列表?
宋矿美卡: 执行Cmd命令net start 并读取回显获得开启服务列表

峄城区15530238657: 如何通过Java代码获取tomcat服务器的绝对路 -
宋矿美卡: java代码获取tomcat的服务器绝对路径,如下方法:System.getProperty("catalina.home") 能够帮你准确的定位到tomcat绝对路径.注意在在windows和*inux中路径分隔符不一样,在window是\,在*inux中是/

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网