Topic: 得到java的包名。。请帮我修改。。 |
Print this page |
1.得到java的包名。。请帮我修改。。 | Copy to clipboard |
Posted by: develop8 Posted on: 2006-05-24 08:01 //得到包名。 class tt2{ static String[]s; public tt2(){ Package[] p= Package.getPackages(); s=new String[p.length]; for(int i=0;i<p.length;i++){ s[i]=p[i].getName(); System.out.println(s[i]);} } public static void main(String[]args){ new tt2(); } } 为什么他输出的包名里缺不少包 。。。比如 java.awt , javax.swing 等等。。 用什么方法能让 jsd 里的所有包名都显示出来? |
2.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: damondeng Posted on: 2006-05-24 10:04 根据API文档, java.lang.Package.getPackages() 只会返回当前classloader所知的package, 并不是所有classpath中的所有package名. 好象没有发现有方法可以知道"所有"package的名字, 不知道楼主想达到什么样的目的, 说出来大家讨论一下. 另外, 你为什么不真接输出Package.getName()? 还要将它的返回结果放到另外一下字符串再输出? |
3.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: develop8 Posted on: 2006-05-29 07:38 我的想法只是 在命令行里输入 简单的类名来找到他的具体的名字, 比如:我输入: Button 就找到 java.awt.Button 。主要是为了了解java类的方便 。 |
4.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: lisliefor Posted on: 2006-05-29 13:57
看这样的效果是不是你想要的。 例如输入:awt 结果: java.awt.color sun.awt.im java.awt.print java.awt.peer java.awt.geom sun.awt.datatransfer sun.awt.image sun.awt.dnd |
5.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: develop8 Posted on: 2006-05-30 07:32 你这个输出的是什么啊?我已经做到是输入:Button 能得到 java.awt.Button 输入 Button super 能得到:从java.lang.Object 到java.awt.Button的类,就是超类。你做的比我高明,我没想过这么做。 |
6.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: develop8 Posted on: 2006-05-31 08:27 你的程序是怎么实现的,能告诉我怎么做的吗?用什么原理做的啊? 还有象你这样把dos画面,怎么能粘贴到论坛上的?用什么工具? 我不会,能交我吗? /*写这个程序是因为我昨天保存的,上面论坛的dos画面的 程序 复制--粘贴 之后会发现程序没有换行了, 所以我编这个程序的,但是程序有个不足之处是: 在以下这个地方没能换行,所以引起了,编译不能通过 //字符串比较 public static String Compare(String s,String t){ 还有 在for循环的 ;符号后 不应该换行。。 用什么办法能过滤掉for循环块里头的 ;不处理呢? 请帮我修改完善他好吗??即使没有多大的价值, 你可以试试,把程序复制粘贴,保存为文件之后 输入:java separator 目录一 目录二 目录一是你刚才保存的文件的目录, 目录二是你要把文件输出的路径 例子:java separator d:\pretty\xx.txt d:\T2.java 当然你得输入俩个\\符号因为你没有我的这个analyser类, 所以把 import prerogative.analyser;注释掉 或者写:pattern 把\改成\\,我的analyser就是这一个语句的, 其他什么也没有,简单吧?但是如果你重复在命令行里输入 路径,这个类很省事的,至少省了多打\的力气和时间。 */ import java.io.*; import java.util.regex.*; import prerogative.analyser; public class separator{ public static void main(String[]args){ Pattern p = Pattern.compile("\\;"); Pattern p2 = Pattern.compile("\\{"); Pattern p3 = Pattern.compile("\\}"); try{ FileReader f = new FileReader(analyser.m(args[0])); BufferedReader bf = new BufferedReader(f); String s; String s2=""; String s3; while((s=bf.readLine())!=null) s2=s2+s; s3=p3.matcher(p2.matcher(p.matcher(s2).replaceAll("\\;\n")).replaceAll("\\{\n")).replaceAll("\\}\n"); bf.close(); FileWriter w = new FileWriter(analyser.m(args[1])); BufferedWriter bw=new BufferedWriter(w); bw.write(s3); bw.close(); }catch(FileNotFoundException e){ }catch(IOException e){} } } |
7.Re:得到java的包名。。请帮我修改。。 [Re: develop8] | Copy to clipboard |
Posted by: lisliefor Posted on: 2006-05-31 13:06 我提交的时候是将代码粘贴上去的,至于现在显示的DOS图片,我想,我们应该感谢版主吧!是他帮忙编辑的! 我那段代码很废,就是获取系统输入,然后在搜索的所有包中,获取匹配的结果。没什么用处!涉及到一些流的操作,一个很简单的字符串比较算法。 没有在DOS下编译程序的习惯,而且你 prerogative.analyser,这个包,我也没有,所以..... |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |