文章自动生成

使用截取字符串的方法,打乱原有文档的顺序,重新组合。截取字符串时只考虑了“,”间隔,没有考虑其他标点符号,也没有考虑重组的可读性。留待以后改善!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public string txt;//指定路径下的文本内容
        public string subtxt;//截取到的文本内容
        public int index;//截取的索引
        public int Frist=0;//判断是否从文本开始截取
        public int a;//改变“,”的索引位置
        private void button1_Click(object sender, EventArgs e)
        {
            //openFileDialog1.ShowDialog();
            openFileDialog1.Filter = "文本文件|*.txt";
            DialogResult isok = openFileDialog1.ShowDialog();//枚举用户对对话框进行的操作
            if (isok==DialogResult.OK)
            {
                string s = openFileDialog1.FileName;//选定的文件路径
                if (listBox1.Items.Contains(s))
                {
                    MessageBox.Show("重复的选项!");
                }
                else
                {
                    listBox1.Items.Add(s);//添加路径
                }
            }

        }

        public void subs()
        {
            ArrayList al = new ArrayList();
            for (int i = 0; i < listBox1.Items.Count; i++)//选定的文本个数
            {
                string s = listBox1.Items[i].ToString();
                StreamReader sr = new StreamReader(s, Encoding.Default);//读取文本内容
                txt = sr.ReadToEnd();
                txt.Trim();//去掉首尾空格
                index = txt.IndexOf(",");
                if (index != -1)//为了判断文本中是否有“,”
                {
                    while (true)
                    {
                        if (Frist == 0)
                        {
                            subtxt = txt.Substring(0,index);//截取字符
                            a = index + 1;//索引加1,略过这个标点,从下一个开始查
                            Frist += 1;
                            al.Add(subtxt);
                        }
                        else
                        {
                            index = txt.IndexOf(",", a);
                            subtxt = txt.Substring(a, index-a);
                            a = index + 1;
                            al.Add(subtxt);
                            if (a > txt.LastIndexOf(","))
                            {
                                a = 0;
                                break;
                            }
                        }
                    }
                }
                sr.Close();
            }
            Frist = 0;
            string FileName = @"D:\生成文本.txt";//创建一个新的txt文件,来存储打乱的文本
            if (!File.Exists(FileName))//判断是否已经创建了此文本
            {
                File.Create(FileName).Close();
            }
            else
            {
                File.CreateText(FileName).Close();//创建文本文件
            }
            Random r = new Random();//取随机数,来随机组合字符串

            for (int i = 0; i < al.Count; i++)
            {
                int suijishu = r.Next(0, al.Count);
                StreamReader sre = new StreamReader(FileName, Encoding.Default);
                if (sre.ReadToEnd()=="")
                {
                    sre.Close();
                    StreamWriter sw = new StreamWriter(FileName, false);//写入流,写入字符串
                    sw.Write(al[suijishu]);
                    sw.Close();
                }
                else
                {
                    string jieshou = sre.ReadToEnd();
                    sre.Close();
                    StreamWriter sw = new StreamWriter(FileName, true);
                    sw.Write(jieshou+al[suijishu]);
                    sw.Flush();
                    sw.Close();
                }
                sre.Close();
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            subs();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            DialogResult isok = openFileDialog1.ShowDialog();
            if (isok == DialogResult.OK)
            {
                string s = openFileDialog1.FileName;
                System.Diagnostics.Process.Start(s);//打开指定路径下的文件
            }

        }
    }
}
时间: 2024-10-08 20:52:24

文章自动生成的相关文章

CSDN中根据文章自动生成文章目录

概述 CSDN中有根据文件内容中H标签在文章中自动生成文章目录,看起来比较专业,就想把它搬到自己的博客园中.类似下图 提取JS脚本 通过浏览器开发者工具(IE/Chrome)找到产生文章目录javascript脚本(我直接用IE开发工具中搜索相关字符串”系统根据文章中H1到H6标签自动生成文章目录”搜索到的), 并把其中文章内容ID修改成博客园的ID(#cnblogs_post_body) 产生脚本如下脚本如下: $(document).ready(function() { buildCTabl

如何为自己的博客文章自动添加移动版本(目前仅支持博客园)

前言 从2005年开始撰写第一篇技术博客,我也算是国内最早的一批技术博客作者之一了.其中中断过一段时间,但2008年重新启用之后,这个习惯一直保留到现在,目前已经累积的文章数量已经达到1226篇.这些文章绝大部分都是原创的,转载的有特别注明,文章内容大多是自己实际工作中遇到的问题和解决方案,或者我为企业做顾问服务.培训服务时解决的问题,我尤其喜欢在解决问题后做一点总结,并整理成一篇博客文章分享出来,一来是对思路的重新梳理,同时也希望也许日后能对其他人也有所帮助. 这些年随着移动互联网逐渐占据主流

WordPress使用make_clickable函数让文章网址URL自动生成超链接

在WordPress后台编辑文章的时候,直接粘贴网址到文章内容中,WordPress 并不能自动将网址生成超链接(可点击的链接),如果我们每次都要通过“插入或编辑链接”这个按钮来插入链接,操作有点麻烦.大家应该不知道WordPress 提供了一个名为 make_clickable 的函数,它可以自动将网址转换为可点击的超链接. 使用方法很简单,通过 the_content 钩子挂载 make_clickable  函数即可.具体方式是在主题的 functions.php 中添加下面的代码即可:

Linux下PHP自动生成文章预览图,html转换成各种格式图片、PDF-----转自phpboy的文章

原文地址:http://www.phpboy.net/linux/575.html 用WordPress建立博客站点,选择了一套可以显示文章缩略图的模板,几经折腾将原有模板改得面目全非,最后还是直接上线吧,不想折腾了. 站点上线没几天,在公司做项目时,对图片做了一个放大的JS,自己博客也加上点击缩略图查看原图的功能,然后迅速的加了. 过了几天,突发奇想,想做文章预览图,即点击缩略图查看文章预览图,也就是你们现在首页和文章列表页看到的那个功能. 不费话了,不知道什么时候又要折腾... Linux下

输入关键词自动生成文章,人工智能写作有多强?

今天,某Hub上有一个Opensource项目.这个开源项目的名称是:输入关键词自动生成文章.这意味着什么?也就是说,您可以随意输入主题,然后此生成器可以根据您输入的主题的文本来生成文章.当然,这种无粪便的物品生成器还不是很聪明.之所以这么热是因为它不太聪明(因为作者不应该很好地理解神经网络算法,因此没有添加自然语言处理算法),生成的文章草率,内容重复且混乱,所以每个人都会感到开心并生气.这个开源项目仅用了不到一周的时间,就获得了3K +星的计数.现在,我输入一个主题并生成每个人都可以阅读的文章

输入关键词自动生成文章软件!提供技术开发原理

朋友们大家好!今天又要来给大家上一课吧,关于输入关键词自动生成文章的软件大家觉得网上有没有?答案:肯定是没有!那么我们今天就给大家带来这么一款软件,我们只需要输入你的关键词就能自动生成原创文章,这个工具是我用易语言开发的,我们先给大家演示一下吧! 大家看到了确实是可以生成的,代码其实非常上,我们给大家看下代码吧!主要就是对接了第三方的API实现的.总共算下来代码还不到10行,居然可以实现这种效果,其实并不是我的软件开发的厉害,而是对接了第三方平台提供的API接口,那么这个接口地址我们不方便提供哈

输入关键词自动生成文章(2020年人工智能写作)

自然语言处理的另一个重要应用领域是文本的自动书写.输入关键词自动生成,关键词.关键短语和自动摘要提取都属于这一领域的应用.然而,这些应用程序是由多到少生成的. 这里我们介绍另一个应用:从少到多生成,包括句子复制,从关键词和主题生成文章或段落等.基于关键词的文本自动生成模型本章的第一节介绍了一些基于关键字生成文本的处理技术.它主要是通过使用关键字提取和同义词识别等技术来实现的.以下是对实施过程的描述和介绍.事件当启动搜索引擎广告时,我们需要为广告写一个句子描述.一般来说,模型的输入是一些关键词.例

使用MyBatis Generator自动生成实体、mapper和dao层

通过MyBatis Generator可以自动生成实体.mapper和dao层,记录一下怎么用的. 主要步骤: 关于mybatis从数据库反向生成实体.DAO.mapper: 参考文章:http://www.cnblogs.com/wangkeai/p/6934683.html第一种方式:main方法运行(推荐) 1.在pom.xml中加入插件依赖: 2.写mbgConfiguration.xml文件,jdbc.properties文件 3.写/SSM/src/main/java/main/Ge

API的文档自动生成——基于CDIF的SOA基本能力

当前,作为大部分移动app和云服务后台之间的标准连接方式,REST API已经得到了绝大部分开发者的认可和广泛的应用.近年来,在新兴API经济模式逐渐兴起,许多厂商纷纷将自己的后台业务能力作为REST API开放出来,给更广泛的第三方开发者使用. 但是,管理REST API并非是一件容易的工作.由于缺乏有效的接口数据schema约束,加上设计REST API时resource endpoint的安排,以及发送http请求的方式又都五花八门,REST API开发完成后,大多数情况下API开发者仍然