|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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是必须加以改进的。 |
|