仓酷云

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

[学习教程] JAVA网页设计Java中的文件与磁盘操纵手艺具体剖析

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

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

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

x
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net有没有机会赶上java。<Pstyle="TEXT-INDENT:2em">1怎样取得某一个目次下的文件列表?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">FileMyDir=newFile("C:/Windows/.");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">String[]FileNames=MyDir.list();<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">2怎样完成一个翻开文件大概是存储文件对话框?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">AWT:FileDialog类+FilenameFilter类<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Swing:JFileChooser类+FileFilter类<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">个中,基于Swing的办理计划功效加倍壮大,界面也加倍美妙。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">3使用FileReader/FileOutputStream拷贝中文文件堕落?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">使用以下代码片段拷贝中文文件不会堕落:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">intc;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">while((c=MyFileReader.read())!=-1)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyFileWriter.write(c);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">使用以下代码片段拷贝中文文件会招致文件内容毛病:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">intc;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">while((c=MyFileReader.read())!=-1)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyFileOutputStream.write(c);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">形成这个成绩的缘故原由是:FileReader.read()前往一个int,其取值局限是<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">0到65535,一般来讲是两个字节的;FileWriter.write(intc)向文件写<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">进一个int,一般来讲也是两个字节的,假如某个字符的高位字节为空,那<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">么其高位字节将被舍弃;FileOutputStream.write(intb)固然承受一个<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">int作为参数,实践上只向文件写进一个字节,假如传送过去的参数是一个<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">双字节的汉字,其高位字节将被舍弃,形成文件内容毛病。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">倡议:永久只利用InputStream/OutputStream举行IO操纵。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">使用以下代码片段拷贝中文文件不会堕落:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">intc;<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">while((c=MyFileInputStream.read())!=-1)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyFileOutputStream.write(c);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">4怎样显现和存储拉丁言语中的特别字符<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">利用一致码Unicode能够显现和存储拉丁言语中的特别字符。详细使用典范<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">以下:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append("u00E1");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append("u00E2");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append("u00E3");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append("u00E4");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append("u00E5");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyFileOutputStream.write(MyJTextArea.getText().getBytes("UTF-8"));<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyFileOutputStream.close();<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">一样,在读取文件的时分也必要将读到的内容转换成一致码。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">byte[]b=newbyte[MyFile.length()];<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">FileInputStreamin=newFileInputStream(MyFile);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">in.read(b);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyJTextArea.append(newString(b,"UTF-8"));<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">5怎样使用文件举行数据存取<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">关于一样平常的迷信盘算使用程序,DataInputStream和DataOutputStream类通<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">常是最好的选择。这两个类供应了存取各类数据的办法。上面的典范演示了<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">机关DataInputStream和DataOutputStream的办法:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyDataInputStream=newDataInputStream(<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">newFileInputStream(MyInputFile));<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">MyDataOutputStream=newDataOutputStream(<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">newFileOutputStream(MyOutputFile));<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">使用ObjectInputStream和ObjectOutputStream一样能够举行数据存取,需<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">要注重的是如许做增添了硬盘的开支,由于举行对象序列化历程增加了一<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">些分外的信息。在使用ObjectInputStream和ObjectOutputStream举行通信<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">的时分,固然数据发收历程失掉了年夜年夜简化,可是对带宽的请求也年夜年夜的<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">进步了。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">6文件操纵的基础准绳是甚么?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">a.制止屡次会见磁盘,比方一次读出n个字节就比每次读出1个字节的会见<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">效力要高良多。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">b.制止屡次会见操纵体系。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">c.制止屡次挪用文件存取办法。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">d.制止将字节和字符搅浑处置,在Java言语中字节与字符的观点是纷歧样<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">的,在触及到双字节字符的成绩上更是简单堕落。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">7怎样取得可用的硬盘空间?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">今朝还没有发明有任何关净拖拉的纯Java办法可以办理这个成绩。一般的解<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">决计划是间接会见操纵体系取得这些信息。有一个被称为JConfig的类库提<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">供了一些办法能够取得磁盘和文件信息,可是能够一定这个类库利用了JNI<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">办法。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">下载地点:http://www.tolstoy.com/samizdat/jconfig.html<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如你利用的是晕倒逝世系列操纵体系,那末上面的办法大概可以取得准确<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">的了局。我之以是说大概,是由于我在多个晕倒逝世平台上作过实践测试,<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在英文版的晕倒逝世上基础上都可以失掉准确的了局,在中文版的晕倒逝世上<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">基础上都不克不及够取得准确的了局。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Stringosname=System.getProperty("os.name");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Stringcommand="";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">if(osname.indexOf("NT")>-1)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">command="c:winntSystem32cmd.exe";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">elseif(osname.indexOf("Windows")>-1)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">command="c:windowscommand.com";<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Processp=Runtime.getRuntime().exec(<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">command+"/cdir>c:dir.txt");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">p.waitFor();<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">然后你必要做的是对失掉的dir.txt文件举行剖析。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如你利用的是UNIX/Linux操纵体系,你可使用相似的办法来取得相干<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">信息。倡议利用的命令是df-k>dir.txt。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">8我可以用Java来格局化我的硬盘大概是软盘么?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">关于这个成绩,想来在不久的未来仍旧是不会有纯Java的办理计划了。如<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">果你必定要在你的Java使用程序内里格局化你的C盘的话,上面的这个办法<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">大概会有所匡助。固然,在你利用这个办法之前,请细心备份好女伴侣给你<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">的情书大概是记下和下一个网友约会的日期。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">创建一个称为FormatDrive.bat的文件,该文件必需放在以后目次大概是系<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">统路径下,文件的内容以下:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">rundll32.exeshell32.dll,SHFormatDrive<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">格局化硬盘的办法能够如许写:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">publicvoidFormatDrive()<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">{<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">try<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">{<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Processp=Runtime.getRuntime().exec("FormatDrive.bat");<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">p.waitfor();<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">}catch(Exceptione)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">{<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">System.out.println(e);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">}<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">}<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">9怎样晓得我事实有几个可用的存储设备?<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在UNIX/Linux下你一般没有需要体贴这个成绩,只需记着谁人斜杠就能够了。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在晕倒逝世下硬盘能够有多个逻辑分区,可使用上面的办法找出来:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">publicvoidListDisks()<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">{<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">File[]roots=File.listRoots();<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">for(inti=0;i<Pstyle="TEXT-INDENT:2em">{<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">System.out.println(roots[i]);<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">}<Pstyle="TEXT-INDENT:2em">}

从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。
若天明 该用户已被删除
沙发
发表于 2015-1-18 18:13:06 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
深爱那片海 该用户已被删除
板凳
发表于 2015-1-22 19:55:18 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
小女巫 该用户已被删除
地板
发表于 2015-1-31 10:00:19 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
再现理想 该用户已被删除
5#
发表于 2015-2-6 00:14:55 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
透明 该用户已被删除
6#
发表于 2015-2-9 07:51:01 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
小妖女 该用户已被删除
7#
发表于 2015-2-27 04:38:53 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
再见西城 该用户已被删除
8#
发表于 2015-2-28 18:25:21 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-1 08:17:58 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
兰色精灵 该用户已被删除
10#
发表于 2015-3-8 21:13:43 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
因胸联盟 该用户已被删除
11#
发表于 2015-3-8 22:33:22 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
飘灵儿 该用户已被删除
12#
发表于 2015-3-12 23:00:50 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
13#
发表于 2015-3-20 05:04:55 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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