Articles of Java的

有没有办法使用Windows下的java.util.Preferences没有它使用registry作为后端?

我想使用java.util.Preferences API,但我不希望我的程序尝试读取或写入Windowsregistry。 我将如何去做这件事?

检测Java应用程序中的Windows注销事件

有没有我可以用Java来监听用户注销和其他Windows事件的库? (如果支持多个平台,则更好!) 我记得几年前就读过一个这样的图书馆,但是现在看起来似乎找不到。 我已经看到其他线程使用Python与win32ts基本上做同样的事情。 如果它是免费的和/或开源的话也更好。 谢谢。 注意 :使用Runtime.getRuntime().addShutdownHook(Thread)的候选解决scheme在javaw中无法正常工作。 我仍然在寻找一个可以和javaw一起工作的解决scheme。 请参阅java bug ID 4486580和4302814 。 谢谢–cam

你如何保持机器清醒?

我有一个用Java编写的服务器软件,可以在Windows和OS X上运行(它不是在服务器上运行,而是在普通用户的PC上运行,就像一个洪stream客户端一样)。我希望软件能够发出信号到操作系统,以保持机器清醒(防止它进入睡眠模式),而它是活跃的。 当然,我不希望有一个跨平台的解决scheme,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生通知操作系统保持清醒。 有任何想法吗?

如何在Windows上使用另一个用户帐户创build新的进程?

是否有可能使用不同的用户帐户在Windows上创build新的进程? 我知道有一个上下文菜单“运行”,但我想从Java做。 我有用户名和密码。

用于Windows上的SVN Java绑定(JavaHL)的配对JAR和本机库二进制文件?

我正在写一些直接使用Subversion(SVN)Java绑定(JavaHL)的代码(其中JavaHL包含本地库和一个Java包装器)。 在Linux(Ubuntu 12.04)上,这是没有问题的: libsvn-java包安装了本地库和\usr\share\java\svn-javahl.jar ,所以我只需引用后者就可以了。 在Windows上,我知道这两个对(JAR +本地库)没有这样干净的包装。 我意识到,SlikSVN包含一个JavaHL实现,但安装似乎只安装本地库 (它放在PATH上)。 有没有什么能给这两者打上一个干净的包装呢? (如果SlikSVN包装了JAR,那么我就没有想到的是,search整个驱动​​器一无所获…) 作为一种解决方法,我手动构build了JAR文件(下面的详细信息可能对人员有用)。 但是,Java封装器和本地库的“匹配”似乎非常精确:当我从后来的SVN源代码(而不是匹配我的确切SlikSVN SVN版本)构buildJAR作为testing时,我在本地代码(EXCEPTION_ACCESS_VIOLATION)。 也许我很不走运,但是如果它非常敏感的话,我需要为用户可能安装的每个潜在版本的SlikSVN(以及SVN)提供一个JAR库(或者限制他们的SlikSVNselect,错误自动生成过程,这将需要他们安装一个JDK)。 所有不良select:–( 手动解决方法(错误!) 我有SlikSVN 1.8.10: svn –version报告版本1.8.10-SlikSvn-1.8.10-X64 。 所以我从标记的SVN版本中获得了Java包装器源代码。 (您也可以从主站点的源代码下载中获得 。) svn export http://svn.apache.org/repos/asf/subversion/tags/1.8.10/subversion/bindings/javahl/src 把这个(没有依赖关系)编译到一个JAR中,使用它,在SlikSVN本地库中工作得很好。 PS我知道我可以使用SVNKit来避免这样做,但是我正是这样做的,所以不要依赖SVNKit来获得许可(加上JavaHL API是好的,合理的高层,还有其他的理由更喜欢使用“官方”原生JavaHL实现)。

如何在Java中检查Windows版本?

我想在Java中检查Windows版本(Basic或Home或Professional或Business或其他)。 我该怎么做呢?

有关Java线程和进程优先级的一些问题

我有一个关于线程的小问题。 在Unix系统上,我们nice ,可以用来设置优先级进程。 好的,在我的系统中,我调用了一些外部进程,但是我想为它们设置优先级。 在unix中,我可以调用其他ProcessBuilder并设置好我想要的进程,但在Windows中,这是不可能的。 如果我以某种优先级启动一个线程,并在ProcessBuilder中使用它,进程将具有与线程相同的优先级? 还是有其他的方法来做到这一点? 干杯

无法在64位Windows 7中以较大的堆大小运行64位JVM

这是64位的Windows 7 Enterprise和64位的Java 7: java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b20) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) 这发生在使用C:\Windows\SystemWOW64\cmd.exe (我错误地认为是64位版本) 和 C:\Windows\System32\cmd.exe (我刚刚发现,的Pulsar,是一个64位应用程序,尽pipepath名称)。 程序本身是微不足道的: public class Trivial { public static void main(String[] args) { System.out.println("total = " + toMB(Runtime.getRuntime().totalMemory())); System.out.println("max = " + toMB(Runtime.getRuntime().maxMemory())); } private static long toMB(long bytes) { […]

检查是否有其他用户有权写入文件

在安装过程中,我需要检查用户提供的path是否可写入指定的用户。 path(\文件服务器\共享的UNCpath)可能不能写入正在执行Setup.exe(它是Windows-Only软件)的用户,所以我认为如何检查写入目录的权限或文件? 可能不适合我 我知道在Java7中会有一个新的Filesystem-API,但是Java7还没有发布。 编辑:用户1 – 运行安装程序用户2 – 运行已安装的应用程序 如果用户1出现“权限被拒绝”错误,我仍然不知道,关于用户2.我需要在安装过程中检查其他用户权限。 我可以使用net use /user:<user2> <passwd2>但是我不确定,如果我得到所有我需要的信息。 我得到的信息,该path存在,但不是,如果用户2被允许写入。

java'jar'不被识别为内部或外部命令

当我尝试在Windows的命令行中运行“jar”命令时出现以下错误:“jar”未被识别为内部或外部命令 一般的解决scheme似乎是我需要将jdk bin文件夹添加到环境variables中的PATH中。 我已经这样做了,我添加了以下pathvariables:…; C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \; 虽然我不确定让jdk驻留在“程序文件”而不是“程序文件x86”中是否会影响到这一点。 我在与64位Java的64位窗口。 谢谢