码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础--第二十一天

时间:2015-04-09 00:46:45      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

技术分享

IO流:

         FileOutputStream

         FileInputStream

         字节流复制文件

                   二进制流用字节流输入输出

 

public void newLine():根据系统平台写入行分隔符

public String readLine():一次读取一行数据

 

 

代码操作【练习】

 1 package cn.itcast01;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileReader;
 7 import java.io.FileWriter;
 8 import java.io.FilenameFilter;
 9 import java.io.IOException;
10 
11 
12 /*
13  *         需求:将指定目录下指定类型文件复制到指定目录
14  * 
15  *         思路:
16  *             A:封装源目录
17  *             B:遍历源目录,获取每一个符合指定类型的文件
18  *             C:更名复制:
19  *                 a:先更名,后复制;
20  *                 b:复制后统一更名
21  * 
22  *         提升:多级目录下的复制
23  */
24 public class FileCopyDemo2 {
25     public static void main(String[] args) throws IOException {
26         //A:封装源目录
27         File file = new File("D:\\java\\JavaCode\\day1");
28         
29         //B:遍历源目录,获取每一个符合指定类型的文件
30         File[] files = file.listFiles(new FilenameFilter(){
31             @Override
32             public boolean accept(File dir, String name) {            
33                 return new File(dir,name).isFile() && name.endsWith(".java");
34             }    
35         });
36         
37         //创建目录
38         File destFile = new File("d:\\jad");
39         if(!destFile.exists()){
40             boolean flag = destFile.mkdir();
41             System.out.println("在没有目标目录时,创建目录:"+flag);
42         }
43         
44         //C:更名复制:复制后统一命名
45         for(File fileTemp:files){
46             String name = fileTemp.getName();    //获取原有指定文件名字
47             String newName = name.replace(".java", ".jad");    //需要创建目标目录
48             File newFile = new File(destFile,newName);    //创建目标目录
49             //复制内容
50             BufferedReader br = new BufferedReader(new FileReader(fileTemp));
51             BufferedWriter bw = new BufferedWriter(new FileWriter(newFile));
52             
53             char[] chs =  new char[1024];
54             int len = 0;
55             while((len = br.read(chs))!=-1){
56                 bw.write(chs,0,len);
57                 bw.flush();
58             }
59         //关闭资源
60             bw.close();
61             br.close();
62         }
63     }
64 }
 1 package cn.itcast03;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileReader;
 7 import java.io.FileWriter;
 8 import java.io.IOException;
 9 
10 /**
11  * 遍历复制指定目录
12  * @author itcast
13  *
14  */
15 public class FileCopyDemo {
16     public static void main(String[] args) throws IOException {
17         //封装File对象
18         File srcFile = new File("D:\\java\\JavaCode\\day2");
19         File destFile = new File("D:\\test");
20         if(!destFile.exists()){
21             destFile.mkdirs();
22         }
23         //获取指定目录下的File对象数组
24         File[] arrayFiles = srcFile.listFiles();
25         //遍历,并进行判断
26         char[] chs = new char[1024];
27         int len = 0;
28         for(File arrayFile:arrayFiles){
29             if(arrayFile.isFile()){
30                 String name = arrayFile.getName(); // 获取原有指定文件名字
31                 File finalFile = new File(destFile, name); // 创建目标目录
32                 //创建复写输入输出流
33                 BufferedReader br = new BufferedReader(new FileReader(arrayFile));
34                 BufferedWriter bw = new BufferedWriter(new FileWriter(finalFile));
35                 
36                 while((len = br.read(chs))!=-1){
37                     bw.write(chs,0,len);
38                     bw.flush();
39                 }
40                 
41                 //关闭资源
42                 bw.close();
43                 br.close();
44             }
45         }
46     }
47 }

 

Java基础--第二十一天

标签:

原文地址:http://www.cnblogs.com/zhidianhcuan/p/4405467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!