在做视频截取封面的时候用到了ffmpeg.我采用的是通过Java调用bat或sh脚本然后生成图片文件. 在线上使用的是Centos 7.所以程序中需要获取到当前运行环境的信息来选择调用bat命令还是sh

运行脚本&程序代码

  • win
  1. D:\ffmpeg\bin\ffmpeg.exe -ss 3 -i D:\upload\video\%1.mp4 -y -f image2 -t 0.001 -s 300*240 D:\upload\video\%2_pic.jpg
  • Linux
  1. #!/bin/sh
  2. src=$1
  3. w=$2
  4. h=$3
  5. dist=$4
  6. ffmpeg -ss 3 -i /home/yangkun/upload/video/$src -y -f image2 -t 0.001 -s $w*$h /home/yangkun/upload/video/$dist.jpg
  • 程序代码
  1. String os = System.getProperty("os.name");
  2. if(os.toLowerCase().startsWith("win")){
  3. ProcessBuilder winBuilder = new ProcessBuilder("cmd.exe", "/c", "call", "D:\\upload\\run.bat",UUID,UUID);
  4. winBuilder.start();
  5. }else{
  6. ProcessBuilder LinuxBuilder = new ProcessBuilder("/home/yangkun/run.sh",UUID,"300","240",UUID);
  7. LinuxBuilder.start();
  8. }

Java获取当前运行环境信息

  • 判断操作系统是Linux还是Windows
  1. String os = System.getProperty("os.name");
  2. if(os.toLowerCase().startsWith("win")){
  3. System.out.println(os + " win ");
  4. }
  • System类getProperty方法参数
  1. 键相关值的描述
  2. java.version Java 运行时环境版本
  3. java.vendor Java 运行时环境供应商
  4. java.vendor.url Java 供应商的 URL
  5. java.home Java 安装目录
  6. java.vm.specification.version Java 虚拟机规范版本
  7. java.vm.specification.vendor Java 虚拟机规范供应商
  8. java.vm.specification.name Java 虚拟机规范名称
  9. java.vm.version Java 虚拟机实现版本
  10. java.vm.vendor Java 虚拟机实现供应商
  11. java.vm.name Java 虚拟机实现名称
  12. java.specification.version Java 运行时环境规范版本
  13. java.specification.vendor Java 运行时环境规范供应商
  14. java.specification.name Java 运行时环境规范名称
  15. java.class.version Java 类格式版本号
  16. java.class.path Java 类路径
  17. java.library.path 加载库时搜索的路径列表
  18. java.io.tmpdir 默认的临时文件路径
  19. java.compiler 要使用的 JIT 编译器的名称
  20. java.ext.dirs 一个或多个扩展目录的路径
  21. os.name 操作系统的名称
  22. os.arch 操作系统的架构
  23. os.version 操作系统的版本
  24. file.separator 文件分隔符(在 UNIX 系统中是“/”)
  25. path.separator 路径分隔符(在 UNIX 系统中是“:”)
  26. line.separator 行分隔符(在 UNIX 系统中是“/n”)
  27. user.name 用户的账户名称
  28. user.home 用户的主目录
  29. user.dir 用户的当前工作目录

Java获取运行环境信息的更多相关文章

  1. Java获取系统环境信息

    使用System.getProperty()方法获取JVM信息 public class TestSystemGetProperty { public static void main(String[ ...

  2. JAVA获取运行程序的src路径

    JavaPrj使用: System.getProperty("user.dir")+"\\src"或直接"\\src"JavaWeb使用Th ...

  3. JAVA获取运行环境的信息

    System.getProperties().list(System.out); 得到运行环境的信息

  4. .NET Core 获取程序运行环境信息与反射的应用

    目录 RuntimeInformation.Environment 获取信息 反射获取信息 获取某个属性的值以及别名 反射获取信息 使用 总结 笔者的九篇反射系统文章已经完结,但是笔者会持续更新反射在 ...

  5. 【转】Java Web 项目获取运行时路径 classpath

    Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

  6. java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构

    我们可以通过反射,获取对应的运行时类中所有的属性.方法.构造器.父类.接口.父类的泛型.包.注解.异常等....典型代码: @Test public void test1(){ Class clazz ...

  7. java获取https网站证书,附带调用https:webservice接口

    一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...

  8. centos7最小版本安装nginx+tomcat+java+mysql运行环境

    最近项目从windows搬到linux,由于项目组成员有限并且有其它紧急的任务需要处理,因而这个任务就落到我的头上了.下面记录下centos最小版本安装nginx+tomcat+mysql+java的 ...

  9. java获取服务器所有信息

    package com.sinosoft.outher.listener; import java.net.InetAddress;import java.net.UnknownHostExcepti ...

随机推荐

  1. [bzoj] 3263 陌上花开 洛谷 P3810 三维偏序|| CDQ分治 && CDQ分治讲解

    原题 定义一个点比另一个点大为当且仅当这个点的三个值分别大于等于另一个点的三个值.每比一个点大就为加一等级,求每个等级的点的数量. 显然的三维偏序问题,CDQ的板子题. CDQ分治: CDQ分治是一种 ...

  2. BZOJ1027 [JSOI2007]合金 【计算几何 + floyd】

    题目 某公司加工一种由铁.铝.锡组成的合金.他们的工作很简单.首先进口一些铁铝锡合金原材料,不同种类的 原材料中铁铝锡的比重不同.然后,将每种原材料取出一定量,经过融解.混合,得到新的合金.新的合金的 ...

  3. latex公式测试

    https://katex.org/docs/supported.html 1.x_n $x_n$ 2 . \sum $\sum$ \sum_{i=1}^n $\sum_{i=1}^n $ 3.\bi ...

  4. 用ServletContext做一个简单的聊天室

    这里主要是ServletContext的一个特性:ServletContext是一个公共的空间,可以被所有的客户访问.由此可见ServletContext比cookie和session的作用范围要大[ ...

  5. bestcoder15_love

    #include <iostream> #include <stdio.h> #include <string.h> #include <vector> ...

  6. vs2012 有效产品密钥

    VS2012 有效注册密钥 下载地址:https://www.malavida.com/en/soft/visual-studio-2012/ Microsoft Visual Studio Ulti ...

  7. .ini配置CAN信息

    #include <iostream> #include <windows.h>//这个头文件一定要添加,否则GetPrivateProfileString(...)函数无法使 ...

  8. Eclipse中使用Maven创建Web时错误

    一.问题描述 使用Eclipse创建Maven项目时,报一下错误,不能创建成功. 二.问题原因 错误详细描述是说 Could not resolve archetype org.apache.mave ...

  9. 行为型设计模式之状态模式(State)

    结构 意图 允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类. 适用性 一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为. 一个操作中含有庞大的多分支的条 ...

  10. 电子商务模式B2C/C2C/B2B/O2O

    1.什么是B2C B2C是英文Business-to-Consumer(商家对客户)的缩写,而其中文简称为商对客.商对客是电子商务的一种模式.这种形式的电子商务一般以网络零售业为主,主要借助于互联网开 ...