首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

资料、流总结

2012-07-02 
文件、流总结1、File类:File类位于java.io包中,我们可以通过File对象的方法创建,删除,修改和查找文件。??????

文件、流总结

1、File类:File类位于java.io包中,我们可以通过File对象的方法创建,删除,修改和查找文件。?
?????????????? ?例:创建文件:java.io.File file = new java.io.File(path);?
????????????????????? 删除文件:file.delete();?
1)文件系统规则:?
?? 1、文件的名字包括文件的路径名和扩展名。?
???2、同一目录下不会存在同名的目录和文件?
?? 3、相对路径是不以路径分隔符开头的文件路径,绝对路径是以根目录开头的路径。?
?? 例:文件绝对路径:String path = "D:\\a\\b\\c\\d"; ????
???????? c文件相对d的路径:String path2 = "b\\c.txt";?
???????? d文件相对c的路径:String path3 = "..\\d.txt";?
?? 4、不同的系统中,分割符是不同的。在win系统中,目录分割符和路径分割符分别是""和";",而liunx系统中,目录? 分割符和路径分割符分别是"/"和":"。?
2)File类的属性:public static Stirng pathSeparator:表示当前操作系统的路径分隔符。?
?????????????????????public static String separator:表示当前操作系统的名字分隔符?
3)File类的构造器:File(File parent,String child):表示在一个父文件下创建一个child文件。?
???????????????????????? File(String pathName):创建一个指向pathname的文件对象。?
???????????????????????? File(String parent,String child):创建一个以parent字符串为父目录名的指向child的文件对象。?
?????????????????????????后两个构造器只是实例化了文件对象,但是并没有创建文件。?
4)File类的方法: boolean exists():判断文件是否存在?
?????????????????????? 例:if(temFile.exists())?
???????????????????? String getName():得到文件名字?
??????????????????????例:String Name = temFile.getName();?
?????????????????????boolean isDirectory():判断文件是否是目录?
????????????????????? 例:if(temFile.isDirectory())?
???????????????????? boolean isFile():判断文件是否是真实文件?
????????????????????? 例:if(temFile.isFile())?
??????????????????? long length():得到文件长度?
????????????????????? 例:tem.length()?
????????????????????File[] listFiles():将文件下一级的目录和真实文件作为一个数组返回?
???????????????????? 例:File[] subFile = dirFile.listFiles();?
???????????????????static File[] listRoots():将每个逻辑驱动器作为返回文件的一个元素?
????????????????????? 例:File fe = File.listRoots();?
?????????????????? boolean mkdir():根据文件名字创建一个目录?
???????????????????boolean mkdirs():若文件名字有多级目录,可一次创建?
?????????????????? boolean delete():删除文件?
?????????????????? boolean createNewFile():创建一个新文件?

2、递归:指一种计算方法或方法调用的规则,简单地说就是自己调用自己,所用的方法是相同的。递归算法常用于处理一些无法穷举的计算,但这些计算要有一定的规律。?
?? 递归的缺点:容易出现死循环,导致内容溢出。?
?? 例: public static void main(String[] args) {?
  ???????????String input=JOptionPane.showInputDialog("please input the number of the disks you want?me move.");?
  ???????????int num=Integer.parseInt(input);?
  ???????????move(num,from,mid,to);?
  ??? }?
  ?? private static void move(int num, String from2, String mid2, String to2) {?
  ????????? if(num==1){?
  ????????? System.out.println("move disk 1 from "+from2+" to "+to2);?
  ????????? }else {?
  ????????? move(num-1,from2,to2,mid2);?
  ??????????System.out.println("move disk "+num+" from "+from2+" to "+to2);?
  ????????? move(num-1,mid2,from2,to2);?
  ???????? }?
   }?


3、异常:java中的异常为java.lang包下的Exception类。?
?? 关键字:1、try:catch关键字常用在try catch或在try catch finally中定义异常处理块,每个try块都必须有一个catch或finally语句?
例:try{?
?????????? 可能引发异常的块?
??? }?
??? catch{?
????????? 处理异常的代码?
??? }?
??? finally{?
?????????? 有无异常都处理的语句?
??? }?
?? 2、catch:catch关键字常用在try catch或在try catch finally中定义异常处理块。?
?? 3、finally:用来定义在try catch finally中定义的块。?
?? 4、throw: 用于引发异常。throw 语句将 java.lang.Throwable 作为参数,Throwable 在调用栈中向上传播,直到被适当的 catch 块捕获。?
例:if (error){?
????????? throw new IOException("error reading file");?
????? }?
?? 5、throws:应用于方法,以便指出方法引发了特定类型的异常。throws 关键字将逗号分隔的java.lang.Throwables 列表作为参数。如果要在 try-catch 块中包含带 throws 子句的方法的调 用,必须提供该方法的调用者。?
例:public class MyClass{?
?????????? public method readFile(String filename) throws IOException{?
?????????? }?
???? }?

4、流:输入和输出的抽象。?
?? 1)流的分类:按方向分为:输入流和输出流?
????????????????? 按性质分为:字节流:按最小单位读取的流,直接连接到输入流的源。?
??????????????????????????????????? 缓冲流:包装基础流,提高缓冲功能。?
??????????????????????????????????? 对象流:对象流的读取就是java对象序列化(只要是对象,就要进行序列化)。?
??????????????????????????????????? 基与具体数据类型的流:从流中读取指定数据类型的数据。?
??????????????????????????????????? 除字节流外,其它流均不可直接连接到输入流的源。?
?? 2)InputStream定义的方法:int avialavle():可读取的有效字节长度。?
????????????????????????????????????????????例:byte[] array = new byte[ins.avialavle()];?
????????????????????????????????????????????void close():关闭流对象。?
??????????????????????????????????????????? 例:ins.close();?
????????????????????????????????????????????int read():从流中读取数据,若流已到结尾,则返回-1。?
??????????????????????????????????????????? 例:int read(byte[] b);?
3)OutputStream定义的方法:void close():关闭流。?
?????????????????????????????????????????? ?例:out.close();?
????????????????????????????????????????? ?void flush():将有可能还保存在内存中的数据强制输出到目标中。?
????????????????????????????????????????????例:out.flush();?
?????????????????????????????????????????? void write(byte[] b):将数组中内容输出到流中?
????????????????????????????????????????? ?例:out.write(i);?
?????????????????????????????????????????? void write(byte[] b,int off,int len):将数组中一部分写入流中?
????????????????????????????????????????? ?void write(int b):向流中写入一个字节?
4)FileInputStream的构造器:FileInputStream(File file):通过文件对象做参数构造输入流对象?
?????????????????????????????????????????? FileInputStream(String name):传入的字符串连接到指定文件的输入流?
???????????????????????????????????????????例:InputStream ins = new FileInputStream(fileName);?
5)FileOutputStream的构造器:FileOutputStream(File file):构造输出到指定文件的输出流?
???????????????????????????????????????????? ?FileOutputStream(File file,boolean append):append表示输出到文件的数据是否在已有数据后?
???????????????????????????????????????????? ?FileOutputStream(String name) 例:OutputStream out = new FileOutputStream(txtName);?
??????????????????????????????????????????????FileOutputStream(String name,boolean append)?
6)BufferedInputStream的构造器: BufferedInputStream(InputStream in):创建一个默认缓冲区大小的缓冲对象?
?????????????????????????????????????????????????????例:BufferedInputStream bis = new BufferedInputStream(ins);?
?????????????????????????????????????????????????????BufferedInputStream(InputStream in,int size):指定缓冲区大小,构造缓冲输入函数?
7)BufferedOutputStream的构造器:BufferedOutputStream(OutputStream out):使用默认缓冲区构造缓冲输入流?
????????????????????????????????????????????????????? 例:BufferedOutputStream bos = new BufferedOutputStream(out);?
????????????????????????????????????????????????????? BufferedOutputStream(OutputStream out,int size):指定缓冲大小

?

转载自:http://wjingwen.iteye.com/blog/1133535

热点排行