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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘邦m 初级黑马   /  2019-4-4 14:34  /  1203 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package day09;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Dame3CharExercise {
    public static void main(String[] args) throws IOException {

        /*请用户从控制台输入信息,程序将信息存储到文件Info.txt中。
          可以输入多条信息,每条信息存储一行。
          当用户输入:”886”时,程序结束。*/
        FileWriter fw = new FileWriter("F:\\JavaTemp\\Info.txt");
//        infoInputChar(fw);


        //统计test.txt文件中’a’字符出现的次数
        FileInputStream fis = new FileInputStream("F:\\JavaTemp\\a.txt");
        char c='a';
//        statistics(fis, c);

        /*从控制台循环接收用户录入的学生信息,输入格式为:学号-学生名字
        将学生信息保存到D盘下面的stu.txt文件中,一个学生信息占据一行数据。
        当用户输入end时停止输入。*/
        FileOutputStream fos = new FileOutputStream("F:\\JavaTemp\\stu.txt");
        infoInputByte(fos);
    }

    private static void infoInputByte(FileOutputStream fos) throws IOException {
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("请输入学生的信息,格式:学号-姓名(结束录入end)");
            String str=sc.next();
            if(! str.equals("end")){
                byte[] bytes = str.getBytes();
                fos.write(bytes);
                fos.write("\r\n".getBytes());
            }else{
                break;
            }
        }
        fos.flush();
        fos.close();
    }


    //信息存储(字符流)
    private static void infoInputChar(FileWriter fw) throws IOException {
        Scanner sc= new Scanner(System.in);
        boolean b=true;
        while(b){
            System.out.println("你可以多次输入字符串,当你输入字符串886时输入结束:");
            String str=sc.next();
            if( ! str.equals("886")){
                fw.write(str+"\r\n");
            }else{
                b=false;
            }
        }
        fw.flush();
        fw.close();
    }


    //统计(字节流)
    private static void statistics(FileInputStream fis, char c) throws IOException {
        int count=0, len=0;
        while((len=fis.read()) != -1){
            if(len=='a'){
                count++;
            }
        }
        System.out.println(c+"在文件中出现了"+count+"次");
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马