Java中IO流操作文件总结

来源:互联网 发布:域名米表 编辑:程序博客网 时间:2024/05/16 07:19

IO流操作文件总结

拷贝文件

package com.cloud.day1;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

publicclass Demo1 {

   publicstatic void main(String[] args) {

      try {

         File inputFile = new File("E:/baidu.html");

         if(!inputFile.exists()){

            System.out.println("源文件不存在!");

            System.exit(1);

         }

         File outputFile = new File("E:/test.html");

         FileInputStream inputStream =new FileInputStream(inputFile);

         FileOutputStream outputStream =new FileOutputStream(outputFile);

         byte data[]=newbyte[1024];

         int temp = 0;

         while((temp=inputStream.read(data))!=-1){

            outputStream.write(data);

         }

         inputStream.close();

         outputStream.close();

      } catch (IOException e) {

         e.printStackTrace();

      }

   }

}

文件内容查找

package com.cloud.day1;

import java.io.BufferedReader;

import java.io.FileReader;

publicclass Demo2 {

   publicstatic void main(String[] args) {

      String fileName = "E:/test.txt";

      String line;

      int num=0,space=0,str=0;

      try {

         BufferedReader reader = new BufferedReader(new FileReader(fileName));

         while((line=reader.readLine())!=null){

            char[] ch = line.toCharArray();

            for(int i=0;i<ch.length;i++){

                if(Character.isLetter(ch[i])){

                   str++;

                }elseif(Character.isWhitespace(ch[i])){

                   space++;

                }elseif(Character.isDigit(ch[i])){

                   num++;

                }

            }

         }

         reader.close();

         System.out.println("num="+num+";space="+space+";str="+str);

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

文件内容搜索

package com.cloud.day1;

import java.io.BufferedReader;

import java.io.FileReader;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

publicclass Demo3 {

   publicstatic void main(String[] args) {

      try {

         StringBuffer stringBuffer =new StringBuffer();

         BufferedReader reader = new BufferedReader(new FileReader("E:/test.txt"));

         while(true){

            String str = reader.readLine();

            if(str==null){break;}

            stringBuffer.append(str);

         }

         Pattern p = Pattern.compile("he");

         Matcher m = p.matcher(stringBuffer);

         int count = 0;

         while(m.find()){

            count++;

         }

         System.out.println("count="+count);

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

文件读取方式

package com.cloud.day1;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.InputStream;

import java.io.Reader;

/**

 * 文件读取的三种方式

 */

publicclass Demo4 {

   publicstatic void main(String[] args) {

      try {

         File file = new File("E:/test.txt");

         //第一种读取方式

         InputStream inputStream = new FileInputStream(file);

         byte[] b =new byte[Integer.parseInt(file.length()+"")];

         inputStream.read(b);

         inputStream.close();

         System.out.println("b="+b);

         //第二种读取方式

         Reader reader = new FileReader(file);

         char[] r =new char[(int)file.length()];

         reader.read(r);

         System.out.println(new String(r));

         r.clone();

         //第三种读取方式

         BufferedReader bufferedReader =new BufferedReader(new FileReader("E:/test.txt"));

         StringBuffer buffer = new StringBuffer();

         String str;

         while(true){

            str = bufferedReader.readLine();

            if(str==null){break;}

            buffer.append(str);

         }

         System.out.println(buffer);

         bufferedReader.close();

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

文件写入方式

package com.cloud.day1;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.io.OutputStream;

import java.io.PrintWriter;

publicclass Demo5 {

   publicstatic void main(String[] args) {

      try {

         File file = new File("E:/test.txt");

         OutputStream outputStream =new FileOutputStream(file);

         BufferedWriter writer = new BufferedWriter(new FileWriter(file));

         PrintWriter printWriter = new PrintWriter(file);

         //方式一

         outputStream.write("hello".getBytes());

         //方式二

         writer.write("AnHui");

         //方式三

         printWriter.write("Hello,AnHui");

         printWriter.close();

         writer.close();

         outputStream.close();

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

边读边写

package com.cloud.day1;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

publicclass Demo6 {

   publicstatic void main(String[] args) {

      try{

         File inputfile = new File("E:/test.txt");

         File outputfile = new File("E:/test1.txt");

         BufferedReader bufferedReader =new BufferedReader(new FileReader(inputfile));

         BufferedWriter bufferedWriter =new BufferedWriter(new FileWriter(outputfile));

         String str = null;

         while((str=bufferedReader.readLine())!=null){

            bufferedWriter.write(str);

         }

         bufferedWriter.close();

         bufferedReader.close();

      } catch(Exception e){

         e.printStackTrace();

      }

   }

}

0 0
原创粉丝点击