- 浏览: 184494 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
为什么昵称都叫没了:
对的,我也在做微信公众平台的开发,发现一个简单的教程 http ...
微信公众平台API -
guji528:
想找一个好一点的调试器,不知eric是否OK,有空再研究一下
Eric IDE安装 -
youyang:
受教了,不得不顶。
NoSQL非关系数据库简介 -
zhongzhai:
谢谢分享,波一个
Java中的UDP协议编程 -
huwenbiao2010:
有实现JPopupMenu透明的案例不,发个给我 ,谢谢了 , ...
一道笔试题
1 、 java 通过 System.getProperties() 获取系统参数
Properties props=System.getProperties(); //
系统属性
System.out.println("Java
的运行环境版本:
"+props.getProperty("java.version"));
System.out.println("Java
的运行环境供应商:
"+props.getProperty("java.vendor"));
System.out.println("Java
供应商的
URL
:
"+props.getProperty("java.vendor.url"));
System.out.println("Java
的安装路径:
"+props.getProperty("java.home"));
System.out.println("Java
的虚拟机规范版本:
"+props.getProperty("java.vm.specification.version"));
System.out.println("Java
的虚拟机规范供应商:
"+props.getProperty("java.vm.specification.vendor"));
System.out.println("Java
的虚拟机规范名称:
"+props.getProperty("java.vm.specification.name"));
System.out.println("Java
的虚拟机实现版本:
"+props.getProperty("java.vm.version"));
System.out.println("Java
的虚拟机实现供应商:
"+props.getProperty("java.vm.vendor"));
System.out.println("Java
的虚拟机实现名称:
"+props.getProperty("java.vm.name"));
System.out.println("Java
运行时环境规范版本:
"+props.getProperty("java.specification.version"));
System.out.println("Java
运行时环境规范供应商:
"+props.getProperty("java.specification.vender"));
System.out.println("Java
运行时环境规范名称:
"+props.getProperty("java.specification.name"));
System.out.println("Java
的类格式版本号:
"+props.getProperty("java.class.version"));
System.out.println("Java
的类路径:
"+props.getProperty("java.class.path"));
System.out.println("
加载库时搜索的路径列表:
"+props.getProperty("java.library.path"));
System.out.println("
默认的临时文件路径:
"+props.getProperty("java.io.tmpdir"));
System.out.println("
一个或多个扩展目录的路径:
"+props.getProperty("java.ext.dirs"));
System.out.println("
操作系统的名称:
"+props.getProperty("os.name"));
System.out.println("
操作系统的构架:
"+props.getProperty("os.arch"));
System.out.println("
操作系统的版本:
"+props.getProperty("os.version"));
System.out.println("
文件分隔符:
"+props.getProperty("file.separator")); //
在
unix
系统中是"/"
System.out.println("
路径分隔符:
"+props.getProperty("path.separator")); //
在
unix
系统中是"
:
"
System.out.println("
行分隔符:
"+props.getProperty("line.separator")); //
在
unix
系统中是"
/n
"
System.out.println("
用户的账户名称:
"+props.getProperty("user.name"));
System.out.println("
用户的主目录:
"+props.getProperty("user.home"));
System.out.println("
用户的当前工作目录:
"+props.getProperty("user.dir"));
2 、 用 Java 编写通过代理访问的应用程序
本技巧将向您讲述如何编写可通过代理访问因特网上的 Web 服务器的 Java 应用程序。在 Java 应用程序中加入代理支持只需额外编写几行代码,且不依赖任何安全性 “ 漏洞 ” 。
将
Java
和代理结合起来的秘诀即在
Java
运行时激活特定的系统属性。这些属性未被写入正式文件,只是作为
Java
传说的一部分在
Java
编程人员中秘传。为了支持代理,
Java
应用程序不仅需要指定代理本身的信息,而且需要指定用于认证的用户信息。在开始使用网际协议之前,您需要在程序中添加以下几行代码:
//
通知
Java
您要通过代理进行连接
System.getProperties().put("proxySet","true");
//
指定代理所在的
服务器
System.getProperties().put("proxyHost","myProxyMachineName");
//
指定代理监听的端口
System.getProperties().put("proxyPort","85");
有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果您使用位于防火墙之内的
Web
浏览器,您就可能碰到过这种情况。以下是执行认证的方法:
URLConnection
connection=url.openConnection();
String
password="username:password";
String
encodedPassword=base64Encode(password);
connection.setRequestProperty("Proxy-Authorization",encodedPassword);
这段代码的思想是,您必须调整
HTTP
标头以发出用户信息。这是通过调用
setRequestProperty()
来实现的。这种方法允许您在发出请求之前处理
HTTP
标头。
HTTP
要求用
base64
对用户名和口令进行编码。幸运的是,有一组公用域
API
,它们将代您执行编码(请参阅参考资源部分)。
如您所见,在
Java
应用程序中加入代理支持并不需要做多少工作。有了现在的知识,再做一点研究(您必须查明您的代理是如何处理您感兴趣的协议以及如何进行用户认证的),您就能用其他协议实现代理。
HTTP
代理:(例子)
Properties props = System.getProperties ();
props.put( "http.proxyHost" , "192.168.0.150" );
props.put(
"http.proxyPort"
,
"808"
);
FTP
代理
ScottD.Taylor
提出这个秘诀来处理
FTP
协议代理:
defaultProperties.put("ftpProxySet","true");
defaultProperties.put("ftpProxyHost","proxy-host-name");
defaultProperties.put("ftpProxyPort","85");
接下来您便可以通过以下代码使用
"ftp"
协议访问文件
URL
:
URL
url=newURL("ftp://ftp.netscape.com/pub/navigator/3.04/windows/readme.txt");
如果有人有使用其他网际协议代理的例子,我很想看看。
注意:代码示例
(Example.java)
仅在
JDK1.1.4
下测试过。
后续技巧!
对于仍在使用
JDK1.1.7
(配合
WebSphere3.0
)的开发人员而言,将
proxyHost
和
proxyPort
设为系统属性不起作用;
conn.getInputStream()
或者返回连接超时,或者是找不到主机路径。但是,我使用接受
Host
和
Port
为参数的
URL
构造函数解决了这一问题(使用我的代理主机和端口):
public
URL(String
protocol,String
host,int
port,String
file).
借助用户名和口令进行认证的方法不起作用。应将
"Basic"
置于认证字符串的开头;例如:
String
encodedPassword=base64Encode(password);
应该是:
String
encodedPassword="Basic"+base64Encode(password);
您也不必用一个单独的程序来进行
64
位编码。您可以使用
sun.misc.BASE64Encoder()
类。下面是完成这两处改动之后的代码:
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost",proxyHost);
System.getProperties().put("proxyPort",proxyPort);
String
authString="userid:password";
String
auth="Basic"+newsun.misc.BASE64Encoder().encode(authString.getBytes());
URL
url=newURL("http://java.sun.com/");
URLConnection
conn=url.openConnection();
conn.setRequestProperty("Proxy-Authorization",auth);
下面是使用
socks4
代理服务器的方法:
System.getProperty("socksProxySet",true);
System.getProperty("socksProxyHost",proxyHostName);
System.getProperty("socksProxyPort",proxyPort);
Usually
the
proxyPort
for
Socks
4
is
port
1080
发表评论
-
UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
2013-04-26 22:32 873继承 指的是一个类(称为子类、子接口)继承另外的一个类( ... -
数据库链接池(DBCP)配置参考
2012-01-31 17:20 1017链接池不但能提高数据库的访问效率,也能有效地控制自 ... -
设置半透明的JMenuBar
2011-01-17 17:33 3160源作:陈思羽. 更新:龚德伟. 2008.07.20 ... -
使用svn——项目的目录布局
2011-01-07 21:12 801Subversion有一个很标准的目录结构,是这样的。 比如 ... -
Socket TCP连接和断开过程
2010-11-03 09:22 2322在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握 ... -
几个重要的TCP/IP选项解析(Java Socket)
2010-10-28 13:22 10791. SO_LINGER / SO_REUSEADDR ... -
java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
2010-10-25 13:41 973常见配置举例 堆大 ... -
jstat,jmap,jconsole,jvisualvm,jps,jinfo等JDK系统监控、性能调优工具
2010-10-11 13:57 805JProfiler在java程序性能调试方便表现优越,推荐使用 ... -
一道笔试题
2010-09-28 23:05 1005问题说明 : 计算一个整形数组里的连续元素和的最大值 ... -
一个题目:超大量数据的排序
2010-09-22 03:40 1830一个文件里,有一堆int,把它们排序一下,输出到另外一个文 ... -
各种系统架构图及其简介
2010-03-01 11:35 2440转载请保留出处 , 不胜人生 一场醉汇总。 ... -
Java抓图软件
2010-01-19 09:52 1017以下代码不是本人所写,乃是从网上搜到,记录下来供以后参考。 ... -
16进制字符串与byte数组互转(转载)
2010-01-13 21:07 1975import java.io.ByteArrayInp ... -
byte,int,char,double的相互转换(java)
2010-01-13 21:05 2692//整数到字节数组的转换 public stat ... -
Java中的UDP协议编程
2009-11-18 14:34 1919一. UDP协议定义 UDP协议的全称是用户数据报 ... -
System.getProperty()参数大全
2009-07-26 22:22 873java.version Ja ... -
JAVA打包后读取自身JAR中的文件
2009-07-26 21:48 5690在编写完Java程序后,打包成Jar时发布,会发现找不到Jar ... -
log4j 日志文件相对路径
2009-07-26 21:32 13011、在Tomcat 5.5中的Log4j ... -
windows下openldap的安装与java操作测试
2009-07-01 15:36 921windows下openldap的安装与 ... -
用Ant编译、junit测试、生成测试报告、最终自动发mail
2009-03-19 14:15 1574测试通过的版本如下:Eclipse:3.3.2jdk:1.6j ...
相关推荐
### Java中通过System.getProperties()获取系统参数 在Java编程中,`System.getProperties()`是一个非常实用的方法,它允许开发者访问和获取当前Java运行环境的各种系统属性。这些属性包含了关于Java运行时环境的...
`System.getProperty`和`getProperties`方法是Java中获取系统信息的关键工具。了解并熟练掌握这些方法,对于开发人员来说是非常必要的,特别是在需要根据运行时环境调整程序行为或进行故障排查时。通过合理利用这些...
Java系统属性主要存储在`System`类中的`Properties`对象里,通过调用`System.getProperties()`方法可以获得所有系统属性的集合。系统属性通常包含以下几类信息: - **操作系统信息**:如操作系统名称(`os.name`)、...
在IT领域,尤其是在Java开发中,理解如何获取系统中的各个变量...通过熟练运用`System.getProperties()`和`System.getProperty(String key)`,我们能够更好地理解并利用Java环境,从而编写出更加高效、可靠的应用程序。
这些信息可以通过 `System.getProperties()` 方法获取。下面是一段示例代码: ```java Properties props = System.getProperties(); System.out.println("Java 版本:" + props.getProperty("java.version")); ...
2. **系统属性(System.getProperties(), System.setProperty())**:测试时,可能需要确保特定的系统属性值在特定情况下保持不变,或者设置特定的属性值来测试不同场景。System Lambda 提供了方法来操作这些属性,...
System.getProperties().put("proxyHost", "10.154.134.110"); System.getProperties().put("proxyPort", "8080"); ``` 网络资源的保存 在上节中,我们已经获取了指定网络资源的输入流,接下来我们要完成的就是读取...
利用matlab发送定制的信息邮件,以便在跑大量数据时,可以通过提醒! function Sendmail Answer = 1; %判断条件 if Answer>0.5 ... % ①邮箱地址 ... props = java.lang.System.getProperties; *****
- **`setSmtpHost`** 方法用于设置SMTP服务器地址,通过`System.getProperties()`获取系统属性并设置SMTP主机。 - **`createMimeMessage`** 方法创建MIME邮件对象,初始化会话对象和MIME消息体。 ##### 4.2 SMTP...
- 获取系统属性:通过`System.getProperties()`获取`Properties`对象,然后使用`list`方法打印系统属性。 ```java Properties p = System.getProperties(); p.list(System.out); ``` - 打印内存信息:通过...
`System.getProperties()`方法用于获取一个`Properties`对象,其中包含了所有可用的系统属性信息。而`System.getProperty(String name)`则用于获取指定名称的系统属性值。用户还可以在命令行启动Java程序时使用`-D`...
Properties systemProperties = System.getProperties(); systemProperties.setProperty("proxySet", "true"); systemProperties.setProperty("proxyHost", strProxy); systemProperties.setProperty("proxyPort", ...
通过调用`System.getenv()`方法可以获取所有的环境变量,而如果要查看JVM参数,可以使用`System.getProperties().entrySet().iterator()`。这个迭代器会遍历所有的系统属性,其中包括了传递给JVM的参数。 以下代码...
Properties props = System.getProperties(); props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); Session session = Session....
修改mail源码 支持socks... System.getProperties().setProperty("netease.mail.socks.proxy.url", "代理服务器url"); System.getProperties().setProperty("netease.mail.socks.proxy.port", "代理服务器端口"); }
System.getProperties().put("proxyHost", "10.154.134.110"); System.getProperties().put("proxyPort", "8080"); ``` ### 4. 网络资源的保存 在获取到输入流后,可以使用`FileOutputStream`将内容保存到本地文件...
HI,all 现发布rapid-generator的...System.getProperties() : 直接引用,没有前缀 generator.properties 文件中的所有属性,直接引用,没有前缀 gg : 模板控制变量, cn.org.rapid_framework.generator.GeneratorControl
我们可以使用`System.getProperties()`获取一个`Properties`对象,它包含了所有可用的系统属性信息。若需获取特定属性值,可以使用`System.getProperty(String name)`方法。此外,我们可以在运行Java程序时通过`-D`...