JAVA网站制作之Java 中对文件的读写操纵之对照
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的对照Java中对文件的读写操纵之对照JeruLiu
日期:November29,2000
版本:1.0
Java对文件举行读写操纵的例子良多,让初学者感应非常狐疑,我以为有需要将各类办法举行
一次剖析,回类,理清分歧办法之间的异同点。
一.在JDK1.0中,一般是用InputStream&OutputStream这两个基类来举行读写操纵的。
InputStream中的FileInputStream相似一个文件句柄,经由过程它来对文件举行操纵,相似的,在
OutputStream中我们有FileOutputStream这个对象。
用FileInputStream来读取数据的经常使用办法是:
FileInputStreamfstream=newFileInputStream(args);
DataInputStreamin=newDataInputStream(fstream);
用in.readLine()来失掉数据,然后用in.close()封闭输出流。
完全代码见Example1。
用FileOutputStream来写进数据的经常使用办法是:
FileOutputStreamoutout=newFileOutputStream("myfile.txt");
PrintStreamp=newPrintStream(out);
用p.println()来写进数据,然后用p.close()封闭输出。
完全代码见Example2。
二.在JDK1.1中,撑持两个新的对象Reader&Writer,它们只能用来对文本文件举行操纵,而
JDK1.1中的InputStream&OutputStream能够对文本文件或二进制文件举行操纵。
用FileReader来读取文件的经常使用办法是:
FileReaderfr=newFileReader("mydata.txt");
BufferedReaderbr=newBufferedReader(fr);
用br.readLing()来读出数据,然后用br.close()封闭缓存,用fr.close()封闭文件。
完全代码见Example3。
用FileWriter来写进文件的经常使用办法是:
FileWriterfw=newFileWriter("mydata.txt");
PrintWriterout=newPrintWriter(fw);
在用out.print或out.println交往文件中写进数据,out.print和out.println的独一区分是后者写
进数据或会主动开一新行。写完后要记得用out.close()封闭输入,用fw.close()封闭文件。
完全代码见Example4。
--------------------------------------------------------------followingisthesourcecodeofexamples------------------------------------------------------
Example1:
//FileInputDemo
//DemonstratesFileInputStreamandDataInputStream
importjava.io.*;
classFileInputDemo{
publicstaticvoidmain(Stringargs[]){
//args.lengthisequivalenttoargcinC
if(args.length==1){
try{
//Openthefilethatisthefirstcommandlineparameter
FileInputStreamfstream=newFileInputStream(args);
//ConvertourinputstreamtoaDataInputStream
DataInputStreamin=newDataInputStream(fstream);
//Continuetoreadlineswhiletherearestillsomelefttoread
while(in.available()!=0){
//Printfilelinetoscreen
System.out.println(in.readLine());
}
in.close();
}catch(Exceptione){
System.err.println("Fileinputerror");
}
}
else
System.out.println("Invalidparameters");
}
}
Example2:
//FileOutputDemo
//DemonstrationofFileOutputStreamandPrintStreamclasses
importjava.io.*;
classFileOutputDemo
{
publicstaticvoidmain(Stringargs[]){
FileOutputStreamout;//declareafileoutputobject
PrintStreamp;//declareaprintstreamobject
try{
//connectedto"myfile.txt"
out=newFileOutputStream("myfile.txt");
//Connectprintstreamtotheoutputstream
p=newPrintStream(out);
p.println("Thisiswrittentoafile");
p.close();
}catch(Exceptione){
System.err.println("Errorwritingtofile");
}
}
}
Example3:
//FileReadTest.java
//UserFileReaderinJDK1.1toreadafile
importjava.io.*;
classFileReadTest{
publicstaticvoidmain(String[]args){
FileReadTestt=newFileReadTest();
t.readMyFile();
}
voidreadMyFile(){
Stringrecord=null;
intrecCount=0;
try{
FileReaderfr=newFileReader("mydata.txt");
BufferedReaderbr=newBufferedReader(fr);
record=newString();
while((record=br.readLine())!=null){
recCount++;
System.out.println(recCount+":"+record);
}
br.close();
fr.close();
}catch(IOExceptione){
System.out.println("Uhoh,gotanIOExceptionerror!");
e.printStackTrace();
}
}
}
Example4:
//FileWriteTest.java
//UserFileWriterinJDK1.1towriterafile
importjava.io.*;
classFileWriteTest{
publicstaticvoidmain(String[]args){
FileWriteTestt=newFileWriteTest();
t.WriteMyFile();
}
voidWriteMyFile(){
try{
FileWriterfw=newFileWriter("mydata.txt");
PrintWriterout=newPrintWriter(fw);
out.print(“hi,thiswillbewirteintothefile!”);
out.close();
fw.close();
}catch(IOExceptione){
System.out.println("Uhoh,gotanIOExceptionerror!");
e.printStackTrace();
}
}
}
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 Java是一种计算机编程语言,拥有跨平台、面向对java 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种为 Internet发展的计算机语言 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。
页:
[1]