zoukankan      html  css  js  c++  java
  • iO练习题

    package com.wl.cases;
    
    import java.io.File;
    
    /**
     * 
        (二) 递归实现输入任意目录,列出文件以及文件夹,效果看图
     * @author wanglu
     * @date   2016-11-08
     */
    public class CaseDemo_2 {
        public static void main(String[] args) {
            File file = new File("D:");
            printMkdirs(file);
        }
        
        /*
         * 使用递归调用的方式
         */
        public static void printMkdirs(File file){
            File[] listFiles = file.listFiles();
            if(listFiles==null || listFiles.length<0 )
                return;
            for (int i = 0; i < listFiles.length; i++) {
                if(listFiles[i].isDirectory()){
                    System.out.println(listFiles[i].getAbsolutePath());
                    printMkdirs(listFiles[i]);
                }else{
                    System.out.println(listFiles[i].getAbsolutePath());
                }
            } 
        }
    }
    package com.wl.cases;
    
    import java.io.File;
    
    /**
     * (三) 递归实现列出当前工程下所有.java文件
     * @author wanglu
     * @date   2016-11-08
     */
    public class CaseDemo_3 { 
        public static void main(String[] args) {
            File file = new File("E:\eclipset\workspace\IoDemo");
            printProject(file);
        }
        public static void printProject(File file){ 
            File[] listFiles = file.listFiles();
            if(listFiles==null || listFiles.length<0)
                return;
            for (int i = 0; i < listFiles.length; i++) {
                if(listFiles[i].isDirectory()){
                    //listFiles[i].getName().contains(".java")
                    printProject(listFiles[i]);
                }else{
                    /*if(listFiles[i].getName().contains(".java")){
                        System.out.println(listFiles[i].getName());
                    }*/
                    if(listFiles[i].toString().endsWith(".java")){
                        System.out.println(listFiles[i].getName());
                    }
                }
            }
        }
    }
    package com.wl.cases;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * (四)从磁盘读取一个文件到内存中,再打印到控制台
     * @author wanglu
     * @date   2016-11-08
     */
    public class CaseDemo_4 {
        
        public static void main(String[] args) {
            File file = new File("C:\Users\wanglu\Desktop\HelloWorld.txt");
            printConsole(file);
        }
        public static void printConsole(File file){
            //创建一个字节缓冲输入流
            BufferedInputStream bs = null; 
            InputStreamReader ir = null;
            try {
                //创建一个字节输入流
                FileInputStream fs = new FileInputStream(file);
                bs = new BufferedInputStream(fs); 
                //创建一个转换流,从字节---字符的转换
                ir = new InputStreamReader(bs);
                //此处表示创建一个长度跟文件长度大小一样的数组(此处需要改进)
                char[] b = new char[(int)file.length()];
                int len;
                StringBuffer sb = new StringBuffer();
                if((len = ir.read(b))!= -1){  
                    sb.append(new String(b,0,len)); 
                }
                System.out.println(sb);
            }catch (IOException e) { 
                e.printStackTrace();
            }finally{
                if(ir!=null)
                    try {
                        ir.close();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
                if(bs != null)
                    try {
                        bs.close();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
                
            }
            
            
        }
        
    }
    package com.wl.cases;
    
    import java.io.FileWriter;
    import java.io.IOException;
    
    /**
     * (五) 在程序中写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中
     * @author wanglu
     * @date   2016-11-08
     */
    public class CaseDemo_5 {
        public static void main(String[] args) {
            printToFile();
        }
        public static void printToFile(){
            //定义一个字符输出流
            FileWriter fw = null;
            try {
                //定义一个字符串
                String str = "HelloJavaWorld你好世界";
                fw = new FileWriter("Hello.txt");
                fw.write(str);
            } catch (IOException e) { 
                e.printStackTrace();
            }finally{
                if(fw != null)
                    try {
                        fw.close();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
            } 
        }
    }
    package com.wl.cases;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /*
     * (六) 拷贝一张图片,从一个目录到另外一个目录下 
     * 注: 除文本文件外,其他类型的文件都需要要字节流处理
     * 所以此处我们需要用到字节流
     */
    public class CaseDeom_6 {
        public static void main(String[] args) {
            File file = new File("C:\Users\wanglu\Desktop\1.png");
            File saveFile = new File("save.png");
            copyPhoto(file,saveFile);
        }
        public static void copyPhoto(File file,File saveFile){
            //创建字节缓冲输入流(加速)
            BufferedInputStream bs = null;
            //创建字节缓冲输出流(加速输出)
            BufferedOutputStream bo = null;
            try {
                //创建字节输入流
                FileInputStream fs = new FileInputStream(file);
                bs = new BufferedInputStream(fs);
                //创建字节输出流
                FileOutputStream fo = new FileOutputStream(saveFile);
                bo = new BufferedOutputStream(fo);
                byte[] b = new byte[1024];
                int len;
                while((len = bs.read(b))!= -1){
                    bo.write(b, 0, len);
                    bo.flush();
                }
            }catch (IOException e) { 
                e.printStackTrace();
            }finally{
                if(bo != null)
                    try {
                        bo.close();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
                if(bs != null)
                    try {
                        bs.close();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
            } 
        }
    }
  • 相关阅读:
    基于udp简单聊天的系统
    网络编程_tcp与dup协议简单应用
    logging_modules
    linux内核配置与编译
    linux内核简介
    对于国嵌上学期《一跃进入C大门》Mini2440的代码修正
    通过按键玩中断
    MMU功能解析、深入剖析、配置与使用
    C与汇编混合编程
    一跃进入C大门
  • 原文地址:https://www.cnblogs.com/wanglu1991/p/6045318.html
Copyright © 2011-2022 走看看