问题标签 [jdk1.6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 是否有 Java 实用程序可以将字符串路径转换为使用正确的文件分隔符字符?
我开发了许多在 Java 中操作文件的类。我正在开发一个 Linux 机器,并且一直在幸福地输入new File("path/to/some/file");
. 到了提交的时候,我意识到该项目的其他一些开发人员正在使用 Windows。我现在想调用一个方法,该方法可以采用字符串形式"/path/to/some/file"
,并根据操作系统返回正确分隔的路径。
例如:在 Windows 上
"path/to/some/file"
变为。
在 Linux 上,它只返回给定的字符串。"path\\to\\some\\file"
我意识到敲出一个可以做到这一点的正则表达式不会花很长时间,但我不想重新发明轮子,而是更喜欢经过适当测试的解决方案。如果它内置在 JDK 中会很好,但如果它是一些小型 F/OSS 库的一部分,那也很好。
那么是否有一个 Java 实用程序可以将字符串路径转换为使用正确的文件分隔符字符?
java - 如何判断为什么在 Java 中文件删除失败?
那里已经有很好的实施getReasonForFileDeletionFailureInPlainEnglish(file)
了吗?否则我只好自己写了。
mysql - MySQL 5.1.32-community 和 JDK 1.6.0_16
使用 JDK 1.6.0_16 代码中的 MySQL 5.1.32-community 发出基本 SELECT 时,我遇到了这个非常奇怪的异常。重复条件:在我的应用程序的任何地方,如果我更改我的操作系统(WindowsXP SP3)的日期,然后点击一些刷新按钮,那就是从数据库重新加载信息,同时执行多次(通常是 2-3 次够了)我得到这个错误:
接下来是我自己的一些代码,然后继续:
现在,我已经用谷歌搜索了它,我找到了零解决方案。我已经尝试使用“127.0.0.1”而不是“localhost”,但没有结果。此外,我能够在 MySQL 4.12 和 JRE 1.4 上对此进行测试,并且该问题不存在。我使用的是普通 JDBC,与 DB 的单一连接(不是池连接),我的 SQL 表使用 InnoDB 类型。任何帮助都将受到高度赞赏,因为我被这种现象困在那里。
java - 在 Java 1.6 中弃用
在 Java 1.5 中,要弃用一个方法,您可以:
在 Java 1.6 中编译它会产生以下结果:
语法错误,注释仅在源级别为 1.5 时可用
有任何想法吗?
javascript - 如何锁定(或沙箱)JDK 的内置 Javascript 解释器以运行不受信任的脚本
我们有一个 Java 应用程序,希望使用内置的 Javascript 解释器 (javax.script.*) 运行不受信任的代码
但是默认情况下,解释器允许访问任何 java 类。例如java.lang.System.exit(0)
脚本中的 " " 将关闭 JVM。我相信这被称为“Live Connect”,有关详细信息,请参阅 Sun 的“Java Scripting Programmer's Guide”。
我想以某种方式关闭脚本访问 Java 类的能力,即我只希望脚本能够访问我使用eval()
或put()
方法专门注入的对象ScriptEngine
。
我找到了一些关于如何使用较旧的独立版本的解释器(Rhino)实现这一点的文档,例如参见http://codeutopia.net/blog/2009/01/02/sandboxing-rhino-in-java/
然而,如果不使用 sun 内部类,这种方法在 JDK 1.6 中是不可能的,因为 ClassShutter 等都是在内部设置的,不能用公共方法覆盖。
我希望有一种简单的方法可以解决这个问题,不需要使用自定义的 SecurityManager、ClassLoader 等跳过复杂的环节,但找不到任何东西。
您会期望随着不同应用程序中围绕 Javascript 的安全公告的频率出现,会有一个简单的标志来禁用 Live Connect!
java - JDK6 中的 TimeZone.setDefault 更改
我刚刚注意到 JDK 6 设置默认 TimeZone 的方法与 JDK5 不同。
以前,新的默认值将存储在线程局部变量中。使用 JDK6(我刚刚查看了 1.6.0.18),实现发生了变化,因此如果用户可以写入“user.timezone”属性,或者如果没有安装 SecurityManager,则时区会在 VM 范围内更改!否则会发生线程局部更改。
我错了吗?这似乎是一个相当大的变化,我在网上找不到任何关于它的信息。
这是JDK6代码:
而之前(在JDK5中)它只是:
jsp - JSP 编译在 Weblogic 10.3 上失败,但在 Weblogic 10 上有效
我的 JSP 中有以下一段代码
此文件在带有 Sun JDK 5 的 Weblogic 10 上编译并运行良好,但在带有 JRockit 6 的 Weblogic 10.3 上失败并显示以下消息
SiteAdminLogin.jsp:1:36:在此位置找不到具有此名称的类型。
SiteAdminLogin.jsp:1:36:import 是关键字,不能用作标识符。
我想它要求我从代码中删除单词 import ,但为什么它适用于 JDK5 而不是 JDK6 ?还有更多的东西吗?
编辑:在我使用 IE7 的同事机器上似乎工作正常,我曾经升级到 IE8,然后卸载 IE8 并切换回 IE7。它看起来像它在 IE 方面的冲突。
java - 无法在与 java.net.URLConnection 的一个会话中使用不同的 NTLM 凭据进行身份验证
当我使用标准 Java API (java.net.URLConnection) 访问 HTTP 服务器时,凭据在第一次成功身份验证后被“缓存”,随后对 Authenticator.setDefault() 的调用无效。因此,我需要重新启动应用程序才能使用不同的凭据。
使用基本身份验证时,我没有观察到这种效果。但是我需要为我正在访问的服务器使用 NTLM,而 Jakarta Commons HttpClient 也不是替代品,因为它不支持 NTLMv2(请参阅http://oaklandsoftware.com/papers/ntlm.html)
查看使用 Wireshark 的数据包,我还观察到在第一次成功身份验证之前,首先尝试使用当前 Windows 凭据进行身份验证。但在成功验证后,仅使用保存的凭据。
成功 NTLM 身份验证后,是否有任何方法可以重置或更改 java.net.Authenticator 正在使用的凭据?
java - 在 java 6 嵌入式 http 服务器上获取 web 服务的客户端 IP
我正在 java 6 重量轻(嵌入式)HTTP 服务器jax-ws-web-services-without-java-ee-containers上实现 Web 服务- 用于测试目的 -
我想为每个请求获取客户端 IP。
我试图在我的 Web 服务类中声明 Web 服务上下文:
然后在 web 方法中使用它的消息上下文:
但是,它给了我Null HTTP 请求。
我使用相同的方式,但使用 SOAP 处理程序,但同样的问题:((
请问有什么办法可以吗??
提前致谢,,,
java - 转换 Set 的最简洁方法到列表
例如,我目前正在这样做:
你能打败这个吗?