Java中IO流操作文件总结
2016-07-24 17:08
363 查看
IO流操作文件总结
拷贝文件
package com.cloud.day1; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Demo1 { public static 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[]=new byte[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; public class Demo2 { public static 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++; }else if(Character.isWhitespace(ch[i])){ space++; }else if(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; public class Demo3 { public static 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; /** * 文件读取的三种方式 */ public class Demo4 { public static 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; public class Demo5 { public static 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; public class Demo6 { public static 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(); } } } |
相关文章推荐
- Java异常处理-----非运行时异常(受检异常)
- Java异常处理-----非运行时异常(受检异常)
- JavaSE 高级 第05节 日期类与格式化
- OpenSessionInViewFilter cannot be cast to javax.servlet.Filter问题
- Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究
- IO流以日志文件记录异常
- 深入浅出看流媒体前世今生,分分钟二逼变牛逼
- Java异常处理-----运行时异常(RuntimeException)
- Java异常处理-----运行时异常(RuntimeException)
- Java的基础知识1
- JavaSE 高级 第03节 Math类与猜数字游戏
- java构造器的作用
- Java异常处理-----自定义异常
- Java异常处理-----自定义异常
- SpringMVC学习之路
- 转载 《Struts2返回JSON数据的具体应用范例》
- Java CountDownLatch 和 CyclicBarrier 使用
- Java异常处理-----抛出处理
- Java异常处理-----抛出处理
- 使用eclipse自带插件生产WebService客户端代码