• C#生成字母和数字组成的随机文件


    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Configuration;
    using System.Collections;
    using System.IO;
    
    namespace FileGenerator
    {
        
        class Program
        {
            
            static void Main(string[] args)
            {
                Program program = new Program();
                //IDictionary<string, string> dictionary = (IDictionary<string, string>)ConfigurationSettings.GetConfig("App.config");
                string path = ConfigurationManager.AppSettings["path"];
                int miniSize = int.Parse(ConfigurationManager.AppSettings["miniSize"]);
                int maxSize = int.Parse(ConfigurationManager.AppSettings["maxSize"]);
                long quantity = long.Parse(ConfigurationManager.AppSettings["quantity"]);
                string prefix = ConfigurationManager.AppSettings["prefix"];
    
                
                //Console.WriteLine(path);
                //Console.ReadLine();
                DirectoryInfo directory = new DirectoryInfo(path);
                if (!directory.Exists)
                {
                    Directory.CreateDirectory(path);
                }
                int j = 0;
                while (j < quantity)
                {
                    j++;
                    string fileName = path + prefix + "_";
                    Random random = new Random();
                    for (int i = 1; i <= 10; i++)
                    {
                        fileName = fileName + random.Next(10);
                    }
                    FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate);
                    StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("gb2312"));
                    try
                    {
                        string content = program.GetFileContent(miniSize, maxSize);
                        
                        sw.Flush();
                        sw.BaseStream.Seek(0, SeekOrigin.Begin);
                        sw.WriteLine(content);
                        sw.Flush();
                        sw.Close();
                        //char[] contentChar = content.ToCharArray();
                        //Encoder encoder = Encoding.UTF8.GetEncoder();
                        //byte[] bytes = new byte[4096];
                        //encoder.GetBytes(contentChar, 0, contentChar.Length, bytes, 0, true);
                        //fs.Seek(0, SeekOrigin.Begin);
                        //fs.Write(bytes, 0, bytes.Length);
                        //fs.Close();
                    }
                    catch (IOException)
                    {
                        continue;
                        sw.Close();
                        
                        
                    }
                }
    
            }
    
            public string GetFileContent(int miniSize, int maxSize)
            {
                List<string> strList = new List<string>();
                for (int i = 65; i < 90; i++)
                {
                    char aa = (char)i;
                    strList.Add(aa.ToString());
                }
                for (int i = 97; i < 122; i++)
                {
                    char aa = (char)i;
                    strList.Add(aa.ToString());
                }
                char[] number = new char[10];
                for (int i = 48; i <= 57; i++)
                {
                    char aa = (char)i;
                    strList.Add(aa.ToString());
                    number[i - 48] = aa;
                }
                string content = "";
                double size = (miniSize + (maxSize - miniSize) * new Random().NextDouble())*1024;
                for (int i = 0; i < size; i++)
                {
                    Random random = new Random();
                    int index = random.Next(strList.Count-1);
                    content = content + strList[index];
                    //content = content + strList[strList.Count];
                }
                return content;
            }
        }
    }

    配置文件App.config信息:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="path" value="D:SourceFoldersftptest"/>
        <add key="miniSize" value="20"/>
        <add key="maxSize" value="40"/>
        <add key="quantity" value="10"/>
        <add key ="prefix" value="test"/>
      </appSettings>
    </configuration>

    注意两点:

    1.App.Config的格式要严格按照上面这个格式来写

    2.build之后,App.config名字会变成程序名称加config,exe和config要在一个目录下

  • 相关阅读:
    java基础知识:私有成员变量
    分布式架构:概述一
    java基础知识:内存
    原油期货价格跌至-37美元/桶的影响
    贷款利息
    java基础知识:IntelliJ IDEA的基础设置
    正则表达式的常用方法
    http服务器三:自己写一个服务器实现转发功能
    bzoj3875: [Ahoi2014&Jsoi2014]骑士游戏(用spfa解决有后效性的dp)
    bzoj2118: 墨墨的等式(巧妙的单源最短路+priority_queue)
  • 原文地址:https://www.cnblogs.com/middlesummer/p/3760794.html
Copyright © 2020-2023  润新知