新手常见问题解答
时间:2003-08-21
来源:互联网
欢迎大家补足
作者: swanky 发布时间: 2003-08-21
Java.lang.NoClassDefFoundError 是 Java 无法在所给予的 classpath 中找到提及的类别或介面的定义,因而丢出的执行时期例外
作者: swanky 发布时间: 2003-08-21
下列将会启动 MS Windows NT 中的记事本:
Runtime.getRuntime().exec("cmd /c notepad.exe");
要启动 MS Windows 95/98 中的,则使用:
Runtime.getRuntime().exec("c:\\windows\\notepad.exe");
Runtime 类别让程式和他的环境互动
作者: swanky 发布时间: 2003-08-21
你可以在 http://java.sun.com/j2se/downloads.html 找到最新版的 JDK
作者: swanky 发布时间: 2003-08-21
作者: swanky 发布时间: 2003-08-21
1. 使用 System.getProperty("java.class.path");
2. 将 classpath 分割成它的元件路径名称. 检查每个路径名称的目录来搜寻 Java 的类别档, 并且使用 ClassLoader 载入类别. 关於载入类别和使用 java reflection 的相关文件如下:
执行时期类别资讯的设计, 位於 JavaWorld 的
http://www.javaworld.com/javaworld/jw-02-1999/jw-02-techniques_p.html
以 Reflection 来动态执行, 位於 Java Developer Connection 网站
http://developer.java.sun.com/developer/qow/archive/86/index.html
使用 Java 技术 Reflection, 位於 Java Developer Connection 网站
http://developer.java.sun.com/developer/technicalArticles/ALT/Reflection/
Reflection API Java 教学, 位於
http://java.sun.com/docs/books/tutorial/reflect/index.html
作者: swanky 发布时间: 2003-08-21
Sun 有四种不同的 Java 认证:Java Programmer, Java Developer, Java Architecture, 以及 Web Component Developer. 建议依照这个顺序来取得认证
作者: swanky 发布时间: 2003-08-21
下列网站有这个测验的资源:
http://javaprepare.com/
http://www.javaranch.com/
http://www.digitalthink.com/
http://www.jaworski.com/java/certification
http://www.jchq.net/
http://www.certificationguru.com/
与认证有关的相关资讯请参考Java Certification
作者: swanky 发布时间: 2003-08-21
所有的基本资料型别都可以使用在 java.lang 底下的包装类别转换成字串
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 9
时间: Mon Jun 17 23:13:25 2002
9.当比较两个字串(String)时,使用 '==' 运算子和 java.lang.String.equals()这个
method有什么不同呢?
'=='这个运算子会看看这两个字串的references是不是指向同一个字串object
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 10
时间: Mon Jun 17 22:37:57 2002
10.在Java中是否可以移动/删除档案 (Java的基本的档案处理)
新增档案:
java.io.File.createNewFile() throws IOException
例如:
1 |
try { File myFile = new File("File"); if(myFile.createNewFile()) System.out.println( "No previous file with this name existed: file created"); else System.out.println( "File not created as a file with this name exists"); }catch(IOException e){} |
新增目录:
java.io.File.mkdir()
例如:
1 |
File myDir = new File("newDir/"); myDir.mkdir(); |
移动档案:
java.io.File.rename(String DestPath)
DestPath可以是相对的或是绝对的路径
删除档案或是目录
java.io.delete();
10. Is there any functionality to move/delete files on the underlying filesystem in
the Java programming language?
To create a new file on filesystem:
java.io.File.createNewFile() throws IOException
For example...
1 |
try { File myFile = new File("File"); if(myFile.createNewFile()) System.out.println( "No previous file with this name existed: file created"); else System.out.println( "File not created as a file with this name exists"); }catch(IOException e){} |
To create a new directory on the filesystem:
java.io.File.mkdir()
For example...
File myDir = new File("newDir/");
myDir.mkdir();
To move a file on the filesystem:
java.io.File.rename(String DestPath)
The path can be absolute or relative to the current directory.
To delete a file or directory:
java.io.delete();
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 11
时间: Mon Jun 17 22:40:57 2002
11.deprecated是什么意思?
有时在编译完 java 的原始码后会出现Deprecation warings
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 12
时间: Mon Jun 17 22:46:54 2002
12.如何取得由Java程式呼叫的外在程式的执行结果?
每个application都会有一个Runtime类别的instance,让你可以和执行时期的环境做互动
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 13
时间: Wed Jun 19 00:59:26 2002
13.抽象类别(abstract classes)和介面(interfaces)有什么不同?
抽象类别和介面是两个不同的物件导向观念,用於不同的地方
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 14
时间: Wed Jun 19 01:10:24 2002
14.如何改变现在的工作目录?
在JDK1.3中,使用 Runtime.exec(String command,String [] envp, File dir)
会产生一个原生的process来执行command所指定的程式
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 15
时间: Wed Jun 19 01:28:47 2002
15.前置和后置的increment运算子有什么不同?
(a++ 和 ++a 有什么不同)
不同的地方在於发生累加的顺序
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 16
时间: Wed Jun 19 01:42:42 2002
16.递移运算子(Shift operators):为什么 3<<3 和 3<<1 是一样的?
在Java中,整数是二的补数的方式储存
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 17
时间: Wed Jun 19 01:52:18 2002
17.如何对两个日期做相减?
做日期相减的一个有效的方法是先将日期转成时间,再来做相减的动作
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 18
时间: Wed Jun 19 01:58:52 2002
18.我可以在哪里找到Java程式的写作惯例(coding convetions)?
下面有两个有关写作惯例不错的资源,包括好的版面设计的准则和变数的标准命名方式:
The Java Language Specification 中第六章有关命名惯例nhttp://java.sun.com/docs/books/jls/second_edition/html/names.doc.html
升阳定的 Code Conventions for the Java Programming language
http://java.sun.com/docs/codeconv/
18. Where can I find information on the Java programming language coding
conventions?
Following are two good resources on the Java programming language coding
conventions, including the principles of good layout, the standard format for
variable and class names, etc:
Chapter 6 of The Java Language Specification describes naming conventions.
Code Conventions for the Java Programming language, as set by Sun.
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 19
时间: Wed Jun 19 02:07:29 2002
19.介面(interface)可以从别的地方继承任何的行为吗?
介面可以继承别的介面
作者: swanky 发布时间: 2003-08-21
标题: [合作翻译]Java新手 20
时间: Wed Jun 19 02:16:54 2002
20.如何取得记忆体的统计资料(memory statistics)?
你可以使用Runtime类别来取得这些统计资料:
1 |
public class MemoryStats{ public static void main(String args[]){ long totalMem = Runtime.getRuntime().totalMemory(); long freeMem = Runtime.getRuntime().freeMemory(); System.out.println("Total memory"+ totalMem); System.out.println("Free memory" + freeMem); } } |
取得的资料是从Java 虚拟机器(JVM[ym] software)而来的
作者: swanky 发布时间: 2003-08-21
像响应事件时常会有这个warning
JDK的版本问题而已
不影响程序的执行效果
作者: 寒冰 发布时间: 2003-12-25
还是我写错了!!!
作者: dinos 发布时间: 2005-02-15
3<<"33"和3<<1是一样的
swanky wrote:
作者: contagious (传染) 看板: java
标题: [合作翻译]Java新手 16
时间: Wed Jun 19 01:42:42 2002
16.递移运算子(Shift operators):为什么 3<<3 和 3<<1 是一样的?
在Java中,整数是二的补数的方式储存
作者: 小波 发布时间: 2005-07-21
作者: nfrog8108 发布时间: 2005-08-25
swanky wrote:
1 |
import java.io.*; public class ReadingProcess { public static void main(String args[]){ //Provide a command as an input argument Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(args[0]); BufferedWriter buffOut = new BufferedWriter( new OutputStreamWriter( process.getOutputStream())); BufferedReader buffIn = new BufferedReader( new InputStreamReader( process.getInputStream())); buffOut.write("//Some String"); buffOut.flush(); //Ensure that the output reaches the process String s; if((s=buffIn.readLine())!= null) System.out.println(s); buffOut.close(); buffIn.close(); } } |
其实也没啥大不了的事情啦... 只不过复制贴上还要改,就会有点火大... [逃]
作者: psmonkey 发布时间: 2006-03-07
如果要delete档案的话...
除了要用file.delete()外...
如果你发现删不掉...可能是你之前有开启OutputStream或InputStream来读写档案...
如果是这样...要记得先close()...
file.delete()才会有效
作者: mch 发布时间: 2006-06-11
'=='这个运算子会看看这两个字串的references是不是指向同一个字串object
作者: viva0322 发布时间: 2008-05-05
1.请问如果s1="HELLO" , s2=="hello" 有大小写的差别
那 s1==s2 还会是True吗? s1.equals(s2) 也会是True吗?大小写有影响吗?
2.如果用if( "nokia".equals(x[i].brand) ) {)
假设x[i].brand里头有nokia也有NOKIA ,那NOKIA也会比对成功吗?
第1个问题, s1 == s2 会得到false,java 的 == operator是用来比对两个object 的instance是不是同一个,如果你改成
<题外话>
在Groovy中 == operator 会呼叫到equals这个method,去判断value是否相同,而不是判断两个instance是不是同一个,但就算对Groovy来说s1 == s2还是分大小写的(当然你可以去override他),因Groovy在台湾似乎被冷落,故藉此题外话来看是否能提高他的人气
1 |
String s1 = "Hello World"; String s2 = s1; |
那么再比较 s1 == s2 就会得到true
而 s1.equals(s2) 一样会得到 false,若要不分大小写请改用 s1.equalsIgnoreCase(s2)
第2个问题不大了解,请您再解释
作者: jason_chan19 发布时间: 2008-05-05
跟你说的一样 equalsIgnoreCase()
第2个问题其实就只是要搜寻大小写皆相同的意思
我已利用equalsIgnoreCase()写出来了 感谢你....
作者: viva0322 发布时间: 2008-05-05
在 MS Windows XP 环境下需要使用 Process p = rt.exec("command.com /c c:\\mydir\\myfile.bat"); 才可顺利执行
作者: kevin75116 发布时间: 2011-12-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28