Java基础练习(十三)文件类与IO流使用

1、已知一个目录,判断下面是否包含.jpg文件,如果有请输出文件名称。
import java.io.File;
import java.io.FileNotFoundException;

public class Test01 {
    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("D:\\tupian");
        //得到这个文件目录下所有的目录与文件名
        String[] list = file.list();
        //遍历出含.jpg的文件名输出
        for (String s:list)
        {
            if(s.endsWith(".jpg")){
                System.out.println(s);
            }
        }
    }
}
2、遍历指定目录下的所有文件,包括子目录中的文件。(使用递归方法)
import java.io.File;

public class Test02 {
   static File chazhao(File file){
       //得到这个文件目录下所有的目录与文件对象
        File[] files = file.listFiles();

        for (File file1:files){
            System.out.println(file1.getName());
            if(file1.isDirectory()){
                return chazhao(file1);
            }
        }
        return file;
    }
    
    public static void main(String[] args) {
        File file = new File("D:\\tupian");
        chazhao(file);
    }
}
3、判断某目录下是否有HelloWorld.txt文件。

如果有,请删除它。
如果没有,请创建它,并且输入内容:我爱肖老师!

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test03 {
    public static void main(String[] args) throws IOException {
        File file =null;
        file=new File("D:\\tupian\\HelloWorld.txt");
        if(file.exists()){
            file.delete();
        }else {
            file.createNewFile();
        }
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream=new FileOutputStream(file);//若没有该文件会自动创建文件
            String s="我爱肖老师";
            byte[] b=s.getBytes();
            fileOutputStream.write(b);
        }catch (Exception e){

        }finally {

            fileOutputStream.close();
        }
    }
}
4、c盘下有一个图片,请将它复制到d盘下。
import java.io.*;

public class Test04 {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = null;

        FileOutputStream fileOutputStream = null ;

        try {
            fileInputStream =  new FileInputStream("D:\\tupian\\3.jpg");
            //若没有找到该目录会报错,会自动创建文件,不会自动创建目录,
            fileOutputStream =new FileOutputStream("C:\\tupian\\1.jpg");
            byte[] b=new byte[1024];
            int i=fileInputStream.read(b);
            while (i!=-1){
                fileOutputStream.write(b,0,i);
                i=fileInputStream.read(b);
            }
        }catch (Exception e){
            fileOutputStream.close();
            fileInputStream.close();
        }
    }
}
5、统计一个英文字母文件中,各字母出现的次数。
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Test05 {
    public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream = new FileInputStream("D:\\tupian\\a\\2.txt");
        byte[] b=new byte[1024];
        fileInputStream.read(b);
        String s=new String(b);
        System.out.println(s);
        char[] chars=s.toCharArray();
        HashMap<Character, Integer> map = new HashMap<>();
        for (char c:chars){
            if(map.containsKey(c)){
                Integer i=map.get(c);
                i++;
                map.put(c,i);
            }else {
                map.put(c,1);
            }
        }
        Set<Map.Entry<Character,Integer>> entries=map.entrySet();
        for (Map.Entry<Character,Integer> entry:entries){
            System.out.println(entry.getKey()+"="+entry.getValue());
        }
        fileInputStream.close();
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值