Java零基础学习IO流

 Java IO流上机练习

目录

已知文件a.txt文件中的内容为“AAbcdea22dferwplkCC321ou1”,请编写程序读取该文件内容,要求去掉重复字母(区分大小写字母)并按照自然排序顺序后输出到b.txt文件中。即b.txt文件内容应为"abc......123..."这样的顺序输出

把指定目录下(包含子目录)的所有图片,复制到另一个指定目录下

模拟用户登录功能实现。接收用户输入的用户名和密码,然后和文件中存储的用户名、密码匹配 

在d盘目录下有一个加密文件a.txt(文件里只有英文和数字),密码是“mima”,当密码输入正确时才能读取文件里的数据。现要求用代码来模拟读取文件的过程,并统计文件里各个字母出现的次数,并把统计结果按照“a:2个;b:3个;”的格式输出到d盘的count.txt中

在c盘下有篇txt文本,读取这个文本并统计出这个文本中指定字符的个数(如指定字符为”我”),将该字符与对应的次数输出到当前项目的key.txt中,例如:输出格式为:我=10

 



  • 已知文件a.txt文件中的内容为“AAbcdea22dferwplkCC321ou1”,请编写程序读取该文件内容,要求去掉重复字母(区分大小写字母)并按照自然排序顺序后输出到b.txt文件中。即b.txt文件内容应为"abc......123..."这样的顺序输出
package com.exec;

import java.io.*;
import java.util.Arrays;

public class Homework4{
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new FileReader("a.txt"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt"));
        String line=null;
        StringBuffer sb=new StringBuffer();
        while((line=br.readLine())!=null){
            sb.append(line);
        }
        String str=sb.toString();
        char[]buf=str.toCharArray();
        Arrays.sort(buf);//排序
        String s=new String(buf);
        bw.write(s.replaceAll("(.)\\1+","$1"));
        bw.flush();
    }
}

  • 把指定目录下(包含子目录)的所有图片,复制到另一个指定目录下
package com.exec;

import java.io.*;

public class HomeWork5 {
    static String regex = ".+\\.([j][p][g]|[p][n][g]|[g][i][f]|[b][m][p])";

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\images");
        copyPhoto(file);
        System.out.println("传输完成!");
    }

    /**
     * 该方法是递归调用
     * @param file
     * @throws IOException
     */
    private static void copyPhoto(File file) throws IOException {
        File[] files = file.listFiles();
        for (File file2 : files) {
            if (file2.isDirectory()) {
                copyPhoto(file2);
            } else if (file2.getName().matches(regex)) {
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file2));
                byte[] buf = new byte[1024];
                int length = 0;
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\aa\\" + file2.getName()));
                while ((length = bis.read(buf)) != -1) {
                    bos.write(buf, 0, length);
                }
                bos.close();
                bis.close();
            }
        }
    }
}

  • 模拟用户登录功能实现。接收用户输入的用户名和密码,然后和文件中存储的用户名、密码匹配 
    package com.exec;
    
    import java.io.*;
    import java.util.Scanner;
    
    /**
     * 模拟用户登录功能实现。接收用户输入的用户名和密码,然后和文件中存储的用户名、密码匹配
     */
    public class LoginSystem {
        //静态代码块,只会执行一次
        static {
            File file = new File("D:\\aa\\config.properties");
            try {
                file.createNewFile();
            } catch (IOException e) {
    
                e.printStackTrace();
            }
        }
        static Scanner input = new Scanner(System.in);
        public static void main(String[] args) throws Exception {
            while (true) {
                System.out.println("请选择功能   A:注册   B:登录");
                String s = input.next();
                if ("a".equalsIgnoreCase(s)) {
                    // 注册
                    register();//文件写入过程
                } else if ("b".equalsIgnoreCase(s)) {
                    // 登录
                    login();//文件的读取操作
                    break;
                } else {
                 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值