如果您对如何检查Java中是否存在Internet连接?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何检查Java中是否存在Internet连接?的详细内容,我们还将为
如果您对如何检查Java中是否存在Internet连接?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何检查Java中是否存在Internet连接?的详细内容,我们还将为您解答java检查网络是否连接的相关问题,并且为您提供关于inno-setup – 安装前检查Java是否存在、java – EHCache如何检查缓存中是否存在某些内容?、java – 如何检查json密钥是否存在?、java-Inno设置:如何检查JRE是否存在,如果不存在,则提示下载?的有价值信息。
本文目录一览:- 如何检查Java中是否存在Internet连接?(java检查网络是否连接)
- inno-setup – 安装前检查Java是否存在
- java – EHCache如何检查缓存中是否存在某些内容?
- java – 如何检查json密钥是否存在?
- java-Inno设置:如何检查JRE是否存在,如果不存在,则提示下载?
如何检查Java中是否存在Internet连接?(java检查网络是否连接)
你如何检查是否可以通过Java连接到Internet?一种方法是:
final URL url = new URL("http://www.google.com");final URLConnection conn = url.openConnection();... if we got here, we should have net ...
但是是否有更合适的方法来执行该任务,特别是如果你需要经常进行连续检查并且很有可能断开互联网连接时?
答案1
小编典典你应该连接到实际应用程序需要的地方。否则,你要测试是否与某个无关的地方(在这种情况下为Google)建立了连接。
特别是,如果你要尝试与Web服务进行通信,并且要控制该Web服务,则最好使用某种廉价的“获取状态” Web方法。这样,你可以更好地了解“真实”通话是否可能起作用。
在其他情况下,仅打开应打开的端口的连接就足够了-或发送ping命令。InetAddress.isReachable可能很适合你这里的API。
inno-setup – 安装前检查Java是否存在
我现在要做的是在继续安装之前检查java是否存在。所以我只需要确保用户能够运行:
java -jar my-app.jar
我现在正在做的是:
[Code] function InitializeSetup(): Boolean; var ErrorCode: Integer; JavaInstalled : Boolean; Result1 : Boolean; begin JavaInstalled := RegKeyExists(HKLM,'SOFTWARE\JavaSoft\Java Runtime Environment\1.6'); if JavaInstalled then begin Result := true; end else begin Result1 := MsgBox('This tool requires Java Runtime Environment version 1.6 or newer to run. Please download and install the JRE and run this setup again. Do you want to download it Now?',mbConfirmation,MB_YESNO) = idYes; if Result1 = false then begin Result:=false; end else begin Result:=false; ShellExec('open','http://javadl.sun.com/webapps/download/AutoDL?BundleId=33787','',SW_SHOWnorMAL,ewNowait,ErrorCode); end; end; end; end;
我的问题是:
>检查注册表足以确保java的home目录将在PATH中? (能够在控制台中运行“java”)
>如果安装了更高版本的java,那么注册表中的那个密钥是否存在,否则我将不得不检查每个更高版本的可能?
>有没有人有更好的方式来下载java,而不仅仅是显示一个弹出窗口,并将用户带到下载页面?
解决方法
{ Both DecodeVersion and Compareversion functions where taken from the wiki } procedure DecodeVersion (verstr: String; var verint: array of Integer); var i,p: Integer; s: string; begin { initialize array } verint := [0,0]; i := 0; while ((Length(verstr) > 0) and (i < 4)) do begin p := pos ('.',verstr); if p > 0 then begin if p = 1 then s:= '0' else s:= copy (verstr,1,p - 1); verint[i] := StrToInt(s); i := i + 1; verstr := copy (verstr,p+1,Length(verstr)); end else begin verint[i] := StrToInt (verstr); verstr := ''; end; end; end; function Compareversion (ver1,ver2: String) : Integer; var verint1,verint2: array of Integer; i: integer; begin SetArrayLength (verint1,4); DecodeVersion (ver1,verint1); SetArrayLength (verint2,4); DecodeVersion (ver2,verint2); Result := 0; i := 0; while ((Result = 0) and ( i < 4 )) do begin if verint1[i] > verint2[i] then Result := 1 else if verint1[i] < verint2[i] then Result := -1 else Result := 0; i := i + 1; end; end; { Here's my code } function InitializeSetup(): Boolean; var ErrorCode: Integer; JavaVer : String; Result1 : Boolean; begin RegQueryStringValue(HKLM,'SOFTWARE\JavaSoft\Java Runtime Environment','CurrentVersion',JavaVer); Result := false; if Length( JavaVer ) > 0 then begin if Compareversion(JavaVer,'1.6') >= 0 then begin Result := true; end; end; if Result = false then begin Result1 := MsgBox('This tool requires Java Runtime Environment v1.6 or older to run. Please download and install JRE and run this setup again.' + #13 + #10 + 'Do you want to download it Now?',MB_YESNO) = idYes; if Result1 = true then begin ShellExec('open','http://www.java.com/en/download/manual.jsp#win',ErrorCode); end; end; end;
感谢所有的帮助
java – EHCache如何检查缓存中是否存在某些内容?
我面临的挑战是我已经实现了一个从数据库中检索单个值的方法(一个find(key)方法). EHCache很好地缓存了find方法的结果,但现在我想减少多次调用该方法所产生的SQL查询数.
所以实现这个我们实现了一个新方法,因为参数需要一个键列表,但由于每个方法调用的参数不同,EHCache在缓存结果方面做得不好.
EHCache使用方法参数作为缓存的入口点.
所以我想重新设计一些东西.我的想法是,我在查找(键列表)方法中获取参数,执行一个大的SQL查询,然后将结果填入缓存中,我没有把头包裹起来,但写下来后感觉就像手动修改缓存是不行的..
任何见解或提示都表示赞赏!
解决方法
java – 如何检查json密钥是否存在?
所以,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段.
所以喜欢:
{ "regatta_name":"ProbaRegatta",
"country":"Congo",
"status":"invited"
}
有时,会有一个额外的字段,如:
{ "regatta_name":"ProbaRegatta",
"country":"Congo",
"status":"invited",
"club":"somevalue"
}
我想检查名为“club”的字段是否存在,以便在解析时我不会得到org.json.JSONException:俱乐部没有价值
解决方法:
JSONObject类有一个名为“has”的方法:
http://developer.android.com/reference/org/json/JSONObject.html#has(java.lang.String)
Returns true if this object has a mapping for name. The mapping may be NULL.
java-Inno设置:如何检查JRE是否存在,如果不存在,则提示下载?
我在Stack Overflow的任何问题中都找不到这种确切的行为,所以请不要将其标记为重复.
我正在使用Inno Setup开发Java 64位应用程序的安装程序.
使用Inno Setup可以检查计算机中是否存在Java 64位,是否不向用户显示下载Java 64位的链接?
我应该在Inno Setup脚本中添加什么以实现该行为?
[Code]
{ Script to check if a JRE is installed }
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
JavaVer: string;
begin
RegQueryStringValue(
HKLM,'SOFTWARE\JavaSoft\Java Runtime Environment','CurrentVersion',JavaVer);
Result := (Length(JavaVer) > 0);
if not Result then
begin
if MsgBox('YOUR MESSAGE GOES HERE',mbConfirmation,MB_YESNO) = idYes then
begin
ShellExec(
'open','https://www.java.com/en/download/manual.jsp#win','',SW_SHOWnorMAL,ewNowait,ErrorCode);
end;
end;
end;
关于如何检查Java中是否存在Internet连接?和java检查网络是否连接的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于inno-setup – 安装前检查Java是否存在、java – EHCache如何检查缓存中是否存在某些内容?、java – 如何检查json密钥是否存在?、java-Inno设置:如何检查JRE是否存在,如果不存在,则提示下载?的相关知识,请在本站寻找。
本文标签: