首页 > 编程语言 >Java-生成固定长度的随机字符串、随机字符串开头的ID、写入文件、读取文件

Java-生成固定长度的随机字符串、随机字符串开头的ID、写入文件、读取文件

时间:2024-05-28 10:58:41浏览次数:23  
标签:文件 String int 生成 随机 import 字符串 new

package com.sgcc;

import java.io.*;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Main {
        public static String generateMixedString(int length) {
        Random random = new Random();
        StringBuilder sb = new StringBuilder(length);
        for (int i = 0; i < length; i++) {
            // 生成随机数,当生成的数字为0时,表示生成字母,生成数字为1时,表示生成数字;
            int type = random.nextInt(2);
            if (type == 0) {
                // 生成随机字母(小写)
                char letter = (char) (random.nextInt(26) + 'a');
                sb.append(letter);
            } else {
                // 生成随机数字
                char digit = (char) (random.nextInt(10) + '0');
                sb.append(digit);
            }
        }

        return sb.toString().toUpperCase();
    }
    
    public static void main(String[] args) {
    //示例一: 生成5个长度,随机字符串
    Main  m = new Main();
    String result =  m.generateMixedString(5);
    System.out.println(result);
    System.out.println("------------------------------------");

    //示例二: 生成18为长度不重复字符串,前6位为随机字母和数字,后12位为数字序列
    int  limitNum = 10;
    DecimalFormat df = new DecimalFormat("000000000000");
    StringBuffer  stringBuffer = new StringBuffer();
    for (int i=0 ;i < limitNum;i++){
        stringBuffer.append(generateMixedString(6) + df.format(i)).append("\n");
    }

    //示例三:将数据写入到文件
    String filePath = "result.txt";
    try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
        writer.write(stringBuffer.toString());
    } catch (IOException e) {
        e.printStackTrace();
    }

    //示例四:读取文件
    final String CHARSET_NAME = "UTF-8";
    List<String> content = new ArrayList<>();
    try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), CHARSET_NAME))) {
        String line;
        while ((line = br.readLine()) != null) {
            content.add(line);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

//  输出list中每一行的内容
//    content.forEach(System.out::println);
//  根据下表获取List每一行的内容
    for (int i=0;i<content.size();i++){
        System.out.println(content.get(i));
    }


    }
}

 

标签:文件,String,int,生成,随机,import,字符串,new
From: https://www.cnblogs.com/yeyuzhuanjia/p/18217398

相关文章

  • 这款信创FTP软件,可实现安全稳定的文件传输!
    信创,即信息技术应用创新,2018年以来,受“华为、中兴事件”影响,国家将信创产业纳入国家战略,并提出了“2+8+n”发展体系。“8”具体指金融、石油、电力、电信、交通、航空航天、医院、教育等主要行业。目前企业使用比较多的是FTP应用,随着技术的进步和企业需求的多元化,弊端也更加明显,需......
  • python容器,字符串,列表,元组,字典介绍和常规操作
    在Python中,常见容器有:(1)字符串:str(2)列表:list(3)元组:tuple(4)字典:dict#容器#列表[]#list1=[1,2,3,4,5,6,7,8,9]可以增删改查#元组()#tuple1=(1,2,3,4,5,6,7,8,9)只能查,不能改#字典{}#dict1={1:1,2:2,3:3,4:4,5:5,6:6,7:7}#集合{}#set1={1,2,3,4,5,6,7,8,9}......
  • 如何安全地进行隔离网文件导出,最优方案出炉!
    越来越多的企业在网络建设时进行网络隔离,通常与提高安全性和控制风险有关。但网络隔离后,企业仍存在与外部客户、合作伙伴等数据交换的场景需求,即如何安全进行隔离网文件导出,是企业急需解决的一个难题。先来看一下,企业通常会采取哪些隔离方式吧?1、网闸/光闸隔离:阻断网络通信协议,......
  • git修改文件提交
    1,检查当前状态,查看是否有未提交的更改gitstatus2,如果有未提交的更改,使用gitadd命令将修改的文件添加到暂存区gitadd<file>如果添加所有修改的文件,可以使用gitadd.3,提交这些更改到你的本地仓库gitcommit-m“此处是提交的备注”4,如果已经做了一些更改并且想要查......
  • 如何简化不同网间文件摆渡的操作流程,降低IT人员工作量?
    为了保护内部核心数据不被泄露,同时有效屏蔽外部网络攻击的风险,企业大多会选择实施网络隔离。将“自己人”与“外人”隔离,具有较强的安全敏感性。有些企业还会在内部网络中进一步划分,比如划分为研发网、办公网、生产网等,但企业仍存在大量数据交互、文件摆渡的使用需求。网络隔离......
  • 文件系统(五):exFAT 文件系统原理详解
    前言exFAT是微软2006年推出的一种文件系统,距今已快二十年,相比于FAT16和FAT32,exFAT还是算年轻。exFAT一直是微软的一个专用文件系统,直到2019年微软发布它的规范,目前微软拥有exFAT多个元素的专利,如果产品上使用exFAT,需要微软授权,否则有可能侵权。exFAT被SD协会采用作为大于32GBSD......
  • kkFileView——全能的在线文件预览解决方案
    引言在数字化办公日益普及的今天,文件的在线预览成为了一个不可或缺的功能。无论是个人还是企业,都希望能够在浏览器中直接打开并浏览各种格式的文档。今天,我们将探索一款国产开源免费的在线文件文档预览软件——kkFileView。一、kkFileView简介kkFileView是一个基于Spring......
  • 文件包含FI漏洞总结
    文件包含漏洞模板文件包含读取?file=php://filter/convert.base64-encode/resource=xxx.php?file=php://filter/read=convert.base64-encode/resource=xxx.php文件包含?file=php://input?file=file://c:\boot.ini?file=data://text/plain;base64,SSBsb3ZlIFBIUAo=?file......
  • 展示字符串信息加密与解密的过程
    声明:该内容皆为原创,仅供业内人士相互学习交流经验,任何未经授权复制、转载、传播或使用本网站(或应用程序)内容的行为,将受到法律的制裁。如因侵权行为给本网站(或应用程序)或任何第三方造成损失的,侵权人应当承担相应的法律责任)实现编译器:vs2022   编译器建议使用13、19、22等......
  • 我见我思之hvv偷师学艺——远程文件包含 windows.ini
    注:本文仅作为技术交流使用,如有违反行为本文作者概不负责。常见告警信息价值提取:源IP大概率为代理IP,可通过情报平台进行识别此IP的历史攻击行为。源端口参考意义不大。目的IP我方资产IP(可定位疑似漏洞的具体资产范围)。目的端口我方资产IP对应端口(可辅助确认端口所在资产范......