java.io操作實例代碼

import java.io.*;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.*;


public class TestIO implements Serializable{

public static void main(String[] args) {
   //new TestIO().testFis();
   //new TestIO().testFos();
   //new TestIO().testStreamReader();
   //new TestIO().testFile();
    new TestIO().testFilter();
}


// 字節輸入流:InputStream類
public void testFis(){
   try{
    FileInputStream fis = new FileInputStream("D://document//testfiles//testio.txt");
    byte[] bs = new byte[fis.available()];     //表示管道要處理的源文件的總大小
    fis.read(bs);      //read()方法的參數是用來盛接過來數據的容器
    System.out.println(new String(bs));     //字節型轉化爲字符串
    fis.close();
   }catch(Exception e){
    e.printStackTrace();
   }
}


// 字節輸出流: OutputStream類
public void testFos(){
   try{
    FileOutputStream fos = new FileOutputStream("D://document//testfiles//testio.txt");
    String str = new String("aaaaaaaaa");
         fos.write(str.getBytes()); //字符串轉化爲字節型,str.getBytes()方法
   }catch(Exception e){
    e.printStackTrace();
    }
   }


// 控制檯數據操作類:StreamReader/StreamWriter類
public void testStreamReader(){
   InputStreamReader isr = new InputStreamReader(System.in);
   try{
    for(int i=1; i>0; i++){
     BufferedReader br = new BufferedReader(isr);
     int is = br.read();    //此read()方法是把字符轉化爲Unicode碼,整型的
     Integer ins = new Integer(is);
     String sins = ins.toString();
     if(sins != null){
      System.out.println(is);
     }
    }
   }catch(Exception e){
    e.printStackTrace();
   }
}


// File類:String[] list()
public void testFile(){
   List<File> lfs = new ArrayList<File>();
   File fir = new File("D:/document/testfiles");
   lfs.add(fir);
   if(!lfs.isEmpty()){
    for(int i = 0; i < lfs.size(); i++){
     System.out.println("1-----"+lfs.get(i));
    }
   }
  
   String sp = fir.getPath();
   System.out.println("2-----"+sp); //完整路徑(包括當前文件fir,即原樣輸出)
  
   String strp = fir.getParent();   //完整路徑(fir文件的上級)
   System.out.println("3-----"+strp);
  
   String strn = fir.getName(); //fir最後文件名
   System.out.println("4-----"+strn);

   long lf = fir.length();   //長整型字節數
   System.out.println("5-----"+lf);

   boolean bfsr = fir.setReadOnly(); //是否是隻讀文件
   System.out.println("6-----"+bfsr);
  
   fir.setReadable(true);    //設置爲可讀取
   boolean bfr = fir.canRead();    //是否是可讀文件
   System.out.println("7-----"+bfr);
  
   fir.setWritable(true);     //設置爲可寫入
   boolean bfw = fir.canWrite(); //是否是可寫入文件
   System.out.println("8-----"+bfw);
  
   boolean bfih = fir.isHidden();   //是否是隱藏文件
   System.out.println("9-----"+bfih);
  
   boolean bfif = fir.isFile();   //是否爲標準文件
   System.out.println("10-----"+bfif);

   System.out.println("------------------------------");
}


// 文件過濾器的實現 java.io.FilenameFilter 接口,String[] list()讀取當前文件夾下的文件!!!
// 掌握好 File的 String[] list(new ...FilenameFilter())方法
public void testFilter(){
   File f1 = new File("D:/document/testfiles");
   String ss[] = f1.list();
   for(String ss2 : ss){
      System.out.println("11-----"+f1.getPath()+"//"+ss2);
   }
   
   String[] sss = f1.list(new MyFilter());
   for(String sss2 : sss){
      System.out.println("12-----"+f1.getPath()+"//"+sss2);
   }
  
     System.out.println("----------------------------");
}


// 實現FilenameFilter接口
private class MyFilter implements FilenameFilter{
   public boolean accept(File firt, String strt){
    if(strt.endsWith(".class")){
     return true;
    }else{
     return false;
    }
   
   }
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章