A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© clz2431 中级黑马   /  2015-12-19 23:27  /  752 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
                                }
                        }
                }
}

8 个回复

倒序浏览
条理清楚.学习了..
回复 使用道具 举报
条理清晰,思路明确
回复 使用道具 举报
66666666  大神
回复 使用道具 举报
写得很好,赞
回复 使用道具 举报
这么吊呀
回复 使用道具 举报
完全看不懂的说啊
回复 使用道具 举报
每天积累大量代码!
回复 使用道具 举报
王冀仁 来自手机 中级黑马 2015-12-21 16:42:16
9#
很不错受教了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马