黑马程序员技术交流社区

标题: 今天敲的代码 [打印本页]

作者: clz2431    时间: 2015-12-19 23:27
标题: 今天敲的代码
public class Test1 {
        public static void main(String[] args) throws IOException {
                //读 UTF-8的文件   写的时候是GBK格式
                //创建InputStreamReader类的对象,用来封装数据源
                //InputStreamReader isr = new InputStreamReader(new FileInputStream("a.txt"));
                BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt"),"UTF-8"));
               
                //创建OutputStreamWriter类的对象,来封装目的地文件
                //OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("b.txt"));
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("b.txt"),"GBK"));
               
                //正常的读写代码,核心六部
                int ch;
                while((ch=br.read())!=-1){
                        bw.write(ch);
                }
                br.close();
                bw.close();
                System.out.println("拷贝完成");
        }
}



public class Test2 {
        public static void main(String[] args) throws IOException {
                //用字符高效流 来一次读写一行
                //读b.txt  然后写到 c.txt中
                BufferedReader br = new BufferedReader(new FileReader("b.txt"));        //封装数据源文件
                BufferedWriter bw = new BufferedWriter(new FileWriter("c.txt"));        //封装目的地文件
               
                //正常的读写代码
                String line;
                while((line=br.readLine())!=null){
                        bw.write(line);
                        bw.newLine();        //根据当前的系统,给出对应的换行符
                }
                br.close();
                bw.close();
                System.out.println("拷贝完成");
               
        }
}


public class Test3 {
        //private static long count;
        public static void main(String[] args) {
                //1,从键盘接收一个文件夹路径,统计该文件夹大小
                File file = getDir();
                long count = getLength(file);  //计算要统计的文件夹的打下
                System.out.println(count);           //打印结果
        }
        //定义一个方法,用来计算文件的大小,
        public static long getLength(File file){
                //获取要计算的文件夹下的  所有的文件或者文件夹对象
                File[] subFiles =file.listFiles();
                //定义一个统计变量,用来记录各个文件的大小
                long count=0;
                //遍历获取到的File[],然后判断是文件还是 文件夹
                for (File subFile : subFiles) {
                        if (subFile.isFile()) {                //如果是文件,就直接计算大小,
                                //count = count + subFile.length();
                                count +=subFile.length();
                        } else {
                                //如果是文件夹,就递归调用
                                count += getLength(subFile);
                        }
                }
                return count;               
        }
       
        //定义一个方法,接收用户录入的 文件夹路径
        public static File getDir(){
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个文件夹路径");
                while (true) {        //如果用户录入的不是文件夹路径,就让用户一直录入
                        File file =new File(sc.nextLine());
                        //判断文件夹是否存在
                        if (!file.exists()) {
                                System.out.println("路径不存在,别捣蛋,写个正确的");
                        }else if(file.isFile()){
                                System.out.println("录入的是文件路径,重写录入一个:");
                        }else {
                                return file;
                        }
                }
        }
}



public class Test4 {
        public static void main(String[] args) {
                //File file = Test3.getDir();
                File file = getDir();
                deleteDir(file);
                System.out.println("删除完成");
        }
       
        //定义一个方法,用来删除文件夹,
                public static void deleteDir(File file){
                        //获取要计算的文件夹下的  所有的文件或者文件夹对象
                        File[] subFiles =file.listFiles();
                        //遍历获取到的File[],然后判断是文件还是 文件夹
                        for (File subFile : subFiles) {
                                if (subFile.isFile()) {                //如果是文件,就直接删除,
                                        subFile.delete();
                                } else {
                                        //如果是文件夹,就递归调用
                                        deleteDir(subFile);
                                }
                        }
                        //将当前文件夹删除
                        file.delete();
                }
       
        //定义一个方法,接收用户录入的 文件夹路径
                public static File getDir(){
                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入一个文件夹路径");
                        while (true) {        //如果用户录入的不是文件夹路径,就让用户一直录入
                                File file =new File(sc.nextLine());
                                //判断文件夹是否存在
                                if (!file.exists()) {
                                        System.out.println("路径不存在,别捣蛋,写个正确的");
                                }else if(file.isFile()){
                                        System.out.println("录入的是文件路径,重写录入一个:");
                                }else {
                                        return file;
                                }
                        }
                }
}

作者: tiandaochouqin    时间: 2015-12-19 23:33
条理清楚.学习了..
作者: 唐洪超    时间: 2015-12-20 10:26
条理清晰,思路明确
作者: shiax11    时间: 2015-12-20 13:04
66666666  大神
作者: 汐枫wait    时间: 2015-12-20 16:51
写得很好,赞
作者: wp969337    时间: 2015-12-20 22:01
这么吊呀
作者: 路路路路灯亮了    时间: 2015-12-20 22:37
完全看不懂的说啊
作者: Java1211张美红    时间: 2015-12-20 22:57
每天积累大量代码!
作者: 王冀仁    时间: 2015-12-21 16:42
很不错受教了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2