来看Java编程猎取硬盘空间
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。由于论坛有人问到这个成绩,以是就写了这篇文章。但愿对人人有所匡助。
一样平常来说,要用java失掉硬盘空间,有3种办法:
1.挪用system的command,然后剖析失掉的了局,这类办法有很强的体系依附性,linux下和win下要分离写程序。
上面是一个win下的例子,编译乐成以后,运转javaDiskspaceyourdir(好比c:)
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
/**
*Determinefreediskspaceforagivendirectoryby
*parsingtheoutputofthedircommand.
*Thisclassisinspiredbythecodeat
*WorksonlyunderWindowsundercertaincircumstances.
*Yes,itsthatshaky.
*RequiresJava1.4orhigher.
*@
*MarcoSchmidt
*/
publicclassDiskspace
{
privateDiskspace()
{
//preventinstantiationofthisclass
}
/**
*Returnavailablefreediskspaceforadirectory.
*@
dirNamenameofthedirectory
*@
freediskspaceinbytesor-1ifunknown
*/
publicstaticlonggetFreeDiskSpace(StringdirName)
{
try
{
//guesscorrectdircommandbylookingatthe
//operatingsystemname
Stringos=System.getProperty("os.name");
Stringcommand;
if(os.equals("WindowsNT")||os.equals("Windows2000"))
{
command="cmd.exe/cdir"+dirName;
}
else
{
command="command.com/cdir"+dirName;
}
//runthedircommandontheargumentdirectoryname
Runtimeruntime=Runtime.getRuntime();
Processprocess=null;
process=runtime.exec(command);
if(process==null)
{
return-1;
}
//readtheoutputofthedircommand
//onlythelastlineisofinterest
BufferedReaderin=newBufferedReader(newInputStreamReader(process.getInputStream()));
Stringline;
StringfreeSpace=null;
while((line=in.readLine())!=null)
{
freeSpace=line;
}
if(freeSpace==null)
{
return-1;
}
process.destroy();
//removedots&commas&leadingandtrailingwhitespace
freeSpace=freeSpace.trim();
freeSpace=freeSpace.replaceAll(".","");
freeSpace=freeSpace.replaceAll(",","");
String[]items=freeSpace.split("");
//thefirstvalidnumericvalueinitemsafter(!)index0
//isprobablythefreediskspace
intindex=1;
while(index<items.length)
{
try
{
longbytes=Long.parseLong(items);
returnbytes;
}
catch(NumberFormatExceptionnfe)
{
}
}
return-1;
}
catch(Exceptionexception)
{
return-1;
}
}
/**
*Commandlineprogramtoprintthefreediskspacetostdout
*forall26potentialrootdirectoriesA: oZ:
*(whennoparametersaregiventothisprogram)
*orforthosedirectories(drives)specifiedasparameters.
*@
argsprogramparameters
*/
publicstaticvoidmain(String[]args)
{
if(args.length==0)
{
for(charc=A;c<=Z;c++)
{
StringdirName=c+":";
System.out.println(dirName+""+
getFreeDiskSpace(dirName));
}
}
else
{
for(inti=0;i<args.length;i++)
{
System.out.println(args+""+getFreeDiskSpace(args));
}
}
}
}<p>
在性能方面,在windows平台下,.net网页编程可能是占强项,要是把.net网页编程放在sun开发的操作系统上去运行呢?根本就运行不了,.net网页编程对其它操作系统的支持也很弱,性能也可能比不上java。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页:
[1]