zoukankan      html  css  js  c++  java
  • 1,随机生成一个500m的txt,填充内容为小写的26个字母。生成后,查找abc字符,打印出其数量和位置(越快越好)

    package com.baoge.test;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.Date;
    import java.util.Random;
    
    public class Test1  {
        
        public static void main(String[] args) throws IOException {
            File file = new File("D://test.txt");
            writeFile(file);
            readFile(file);
        }
        
        public static void writeFile(File file) throws IOException{
            
            //1m=1024kb , 1kb = 1024byte,gbk编码中一个英文字符占一个字节。
            int fileSize = 500*1024*1024;
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
            Random random = new Random();
            System.out.println("start time="+new Date());
            int i = 0;
            while( i < fileSize ){
                int num = random.nextInt(26);//生成随机数,大于等于0,小于26
                char c = (char) (num+97);//a:97,b:98.....,z:122
                bw.write(""+c);
                i ++;
            }
            bw.flush();
            bw.close();
            System.out.println("end time="+new Date());
        }
        
        public static void readFile(File file) throws IOException {
            
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
    
            int index = 0;
            int count = 0;
            
            char[] chars = new char[3];
            
            while(br.read(chars, 0, 3)>-1){
                String str = new String(chars);
                
                if(str.equals("abc")){
                    count ++;
                    System.out.println("数量:"+count+"---位置:"+index);
                }
                index += 3;
            }
            
            br.close();
        }
    }
  • 相关阅读:
    【NXOpen.UF扩展】修改表达式
    NX二次开发 克隆
    C++手动加载CLR运行托管程序(CLR Hosting)
    C++/CLR 使用(VS2012,VS2013,VS2015)编写
    解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题,即include+lib环境变量配置
    NX 图标
    【错误分析】NX error status: 32
    NX CAM 读取加工参数
    CAM 模板样式表
    锁定NX原生界面 & 锁定界面更新
  • 原文地址:https://www.cnblogs.com/zhangxuesong/p/5855716.html
Copyright © 2011-2022 走看看