|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
11.3.1.3读取文件
固然后面先容了流的观点,可是这个观点关于初学者来讲,仍是对照笼统的,上面以实践的读取文件为例子,先容流的观点,和输出流的基础利用。
依照后面先容的常识,将文件中的数据读进程序,是将程序内部的数据传进程序中,应当利用输出流——InputStream或Reader。而因为读取的是特定的数据源——文件,则可使用输出对应的子类FileInputStream或FileReader完成。
在实践誊写代码时,必要起首熟习读取文件在程序中完成的历程。在Java言语的IO编程中,读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流外部的数据。个中第一个步骤由体系完成,只必要创立对应的流对象便可,对象创立完成今后步骤1就完成了,第二个步骤利用输出流对象中的read办法便可完成了。
利用输出流举行编程时,代码一样平常分为3个部分:1、创立流对象,2、读取流对象外部的数据,3、封闭流对象。上面以读取文件的代码示例:
importjava.io.*;
/**
*利用FileInputStream读取文件
*/
publicclassReadFile1{
publicstaticvoidmain(String[]args){
//声明流对象
FileInputStreamfis=null;
try{
//创立流对象
fis=newFileInputStream("e:a.txt");
//读取数据,并将读取到的数据存储到数组中
byte[]data=newbyte[1024];//数据存储的数组
inti=0;//以后下标
//读取流中的第一个字节数据
intn=fis.read();
//顺次读取后续的数据
while(n!=-1){//未抵达流的开端
//将无效数据存储到数组中
data[i]=(byte)n;
//下标增添
i++;
//读取下一个字节的数据
n=fis.read();
}
//剖析数据
Strings=newString(data,0,i);
//输入字符串
System.out.println(s);
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
//封闭流,开释资本
fis.close();
}catch(Exceptione){}
}
}
}
在该示例代码中,起首创立一个FileInputStream范例的对象fis:
fis=newFileInputStream("e:a.txt");
如许创建了一个毗连到数据源e:a.txt的流,并将该数据源中的数据转换为流对象fis,今后程序读取数据源中的数据,只必要从流对象fis中读取便可。
读取流fis中的数据,必要利用read办法,该办法是从InputStream类中承继过去的办法,该办法的感化是每次读取流中的一个字节,假如必要读取流中的一切数据,必要利用轮回读取,当抵达流的开端时,read办法的前往值是-1。
在该示例中,起首读取流中的第一个字节:
intn=fis.read();
并将读取的值赋值给int值n,假如流fis为空,则n的值是-1,不然n中的最初一个字节包括的时流fis中的第一个字节,该字节被读取今后,将被从流fis中删除。
<p>
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。 |
|