仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 599|回复: 11
打印 上一主题 下一主题

[学习教程] 来看Java编程猎取硬盘空间

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:27:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。
由于论坛有人问到这个成绩,以是就写了这篇文章。但愿对人人有所匡助。
一样平常来说,要用java失掉硬盘空间,有3种办法:
1.挪用system的command,然后剖析失掉的了局,这类办法有很强的体系依附性,linux下和win下要分离写程序。
上面是一个win下的例子,编译乐成以后,运转javaDiskspaceyourdir(好比c:)
  1. importjava.io.BufferedReader;
  2. importjava.io.InputStreamReader;
  3. /**
  4. *Determinefreediskspaceforagivendirectoryby
  5. *parsingtheoutputofthedircommand.
  6. *Thisclassisinspiredbythecodeat
  7. *WorksonlyunderWindowsundercertaincircumstances.
  8. *Yes,itsthatshaky.
  9. *RequiresJava1.4orhigher.
  10. *@[EMAILPROTECTED]
  11. *MarcoSchmidt
  12. */
  13. publicclassDiskspace
  14. {
  15.  privateDiskspace()
  16.  {
  17.   //preventinstantiationofthisclass
  18.  }
  19. /**
  20. *Returnavailablefreediskspaceforadirectory.
  21. *@[EMAILPROTECTED]
  22. dirNamenameofthedirectory
  23. *@[EMAILPROTECTED]
  24. freediskspaceinbytesor-1ifunknown
  25. */
  26.  publicstaticlonggetFreeDiskSpace(StringdirName)
  27.  {
  28.   try
  29.   {
  30.    //guesscorrectdircommandbylookingatthe
  31.    //operatingsystemname
  32.    Stringos=System.getProperty("os.name");
  33.    Stringcommand;
  34.    if(os.equals("WindowsNT")||os.equals("Windows2000"))
  35.    {
  36.     command="cmd.exe/cdir"+dirName;
  37.    }
  38.    else
  39.    {
  40.     command="command.com/cdir"+dirName;
  41.    }
  42.    //runthedircommandontheargumentdirectoryname
  43.    Runtimeruntime=Runtime.getRuntime();
  44.    Processprocess=null;
  45.    process=runtime.exec(command);
  46.    if(process==null)
  47.    {
  48.     return-1;
  49.    }
  50.    //readtheoutputofthedircommand
  51.    //onlythelastlineisofinterest
  52.    BufferedReaderin=newBufferedReader(newInputStreamReader(process.getInputStream()));
  53.    Stringline;
  54.    StringfreeSpace=null;
  55.    while((line=in.readLine())!=null)
  56.    {
  57.     freeSpace=line;
  58.    }
  59.    if(freeSpace==null)
  60.    {
  61.     return-1;
  62.    }
  63.    process.destroy();
  64.    //removedots&commas&leadingandtrailingwhitespace
  65.    freeSpace=freeSpace.trim();
  66.    freeSpace=freeSpace.replaceAll(".","");
  67.    freeSpace=freeSpace.replaceAll(",","");
  68.    String[]items=freeSpace.split("");
  69.    //thefirstvalidnumericvalueinitemsafter(!)index0
  70.    //isprobablythefreediskspace
  71.    intindex=1;
  72.    while(index<items.length)
  73.    {
  74.     try
  75.     {
  76.      longbytes=Long.parseLong(items[index++]);
  77.      returnbytes;
  78.     }
  79.     catch(NumberFormatExceptionnfe)
  80.     {
  81.     }
  82.    }
  83.    return-1;
  84.   }
  85.   catch(Exceptionexception)
  86.   {
  87.     return-1;
  88.   }
  89.  }
  90. /**
  91. *Commandlineprogramtoprintthefreediskspacetostdout
  92. *forall26potentialrootdirectoriesA:        oZ:
  93. *(whennoparametersaregiventothisprogram)
  94. *orforthosedirectories(drives)specifiedasparameters.
  95. *@[EMAILPROTECTED]
  96. argsprogramparameters
  97. */
  98.  publicstaticvoidmain(String[]args)
  99.  {
  100.   if(args.length==0)
  101.   {
  102.    for(charc=A;c<=Z;c++)
  103.    {
  104.     StringdirName=c+":";
  105.     System.out.println(dirName+""+
  106.     getFreeDiskSpace(dirName));
  107.    }
  108.   }
  109.   else
  110.   {
  111.    for(inti=0;i<args.length;i++)
  112.    {
  113.     System.out.println(args[i]+""+getFreeDiskSpace(args[i]));
  114.    }
  115.   }
  116.  }
  117. }
复制代码
<p>
在性能方面,在windows平台下,.net网页编程可能是占强项,要是把.net网页编程放在sun开发的操作系统上去运行呢?根本就运行不了,.net网页编程对其它操作系统的支持也很弱,性能也可能比不上java。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-21 07:11:32 来自手机 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
小魔女 该用户已被删除
板凳
发表于 2015-1-22 18:44:12 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
第二个灵魂 该用户已被删除
地板
发表于 2015-1-28 10:27:23 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
5#
发表于 2015-2-4 20:32:16 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
活着的死人 该用户已被删除
6#
发表于 2015-2-5 22:53:34 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
只想知道 该用户已被删除
7#
发表于 2015-2-8 11:46:44 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
小妖女 该用户已被删除
8#
发表于 2015-2-25 10:43:46 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
柔情似水 该用户已被删除
9#
发表于 2015-3-6 11:15:39 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
飘灵儿 该用户已被删除
10#
发表于 2015-3-11 17:06:45 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
金色的骷髅 该用户已被删除
11#
发表于 2015-3-19 02:29:55 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
简单生活 该用户已被删除
12#
发表于 2015-3-27 00:10:40 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 14:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表