zoukankan      html  css  js  c++  java
  • 如何把一个TXT文本文件按行数分割成多个文本文件

    2011-04-27 12:00:24|  分类: 默认分类 |字号 订阅

     
     

    网上有很多文本分割软件都是按字节大小来分割的,主要用于小说类的文本分割,对于比较有规则的内容按行数进行分割非常不方便,所以我写了一个按行数把文本文件分割成多个文本文件

    主要作用:比如您获取上万个长尾关键词,你想通过随机的方式调用100条或者50条。假如是只有一个文本文件(上万行),你需要读取该文件所有行到数组,然后打乱数组,读取前50条,效率非常低。

    而你把该文本文件用分割器分割成1.txt  2.txt…… 100.txt(随机打乱了行数),那么你只要先随机从1-100中产生一个随机数

    然后读取该随机数文本(比如55对应 55.txt),是不是效率很高呀。

    <?php  
     // txt按行无序分割器    
    $fileName = "1.txt"; //源TXT文件   
    $start=1;     //分割TXT初始值   
    $num=10;     //每个TXT多少行   
    $content = file_get_contents($fileName);   
    //$content =iconv("UTF-8", "gb2312//IGNORE",$content);    //如果原TXT为UTF-8编码,请取消注释   
    $contents = explode(" ",$content);   
    shuffle($contents);   //打乱顺序   
    $countcount = count($contents);    
    echo  $count;   
    $newcontents='';   
    $j=0;   
    for($i=0;$i<$count;$i++){    
    $newcontents.=$contents[$i]." ";   
    if ((($i % $num==0) && $i<>0) || ($i==$count-1) )   
        {   
      
    $handle=fopen("txt/".($start+$j).".txt",'w');    
     fwrite($handle,$newcontents);    
     fclose($handle);   
        $j++;   
        $newcontents='';   
        }   
    }   
    ?>  

  • 相关阅读:
    云? 云! 晕! 云计算适合创业公司么?
    批量转移Windows Server的DNS设置
    Signs that you are a bad programmer
    IsNull Function in PeopleSoft MetaSQL
    JS绘制曲线图
    Why does my shared clipboard not work?
    C#入门详解(2)
    C#入门详解(1)
    分享范玮琪最初的梦想
    像战士一样生活
  • 原文地址:https://www.cnblogs.com/alex-13/p/3424117.html
Copyright © 2011-2022 走看看