• 简陋的自动加网页标签程序


    这次做学习黄页 很多号码 手打太蛋疼 所以写了个小程序 很简陋 应用范围局限 记录留档以备日后完善

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.FileReader;
     7 import java.io.FileWriter;
     8 import java.io.IOException;
     9 
    10 import javax.print.DocFlavor.CHAR_ARRAY;
    11 
    12 
    13 public class Main {
    14     public static void main(String []args){
    15         try{
    16             String filer="F:/html/numbers.txt",filew="F:/html/result.txt";
    17             String line,reline = null,ch="<td>",pch="</td>",space="<td>&nbsp&nbsp&nbsp</td>";
    18             String pass="<tr>",ppass="</tr>";
    19 
    20             
    21             File rf=new File(filer);
    22             File wf=new File(filew);
    23             BufferedReader br = new BufferedReader(new FileReader(filer));
    24             BufferedWriter bw=new BufferedWriter(new FileWriter(filew));
    25         
    26             //int count=0;
    27 
    28             while((line=br.readLine())!=null){
    29                 char[] tem=line.toCharArray();
    30                 for(int i=0;i<line.length();i++){
    31                     if(tem[i]=='8'){
    32                         String strtem=reline;
    33                 
    34                         if(reline!=null){
    35                             reline=ch;
    36                             reline+=strtem;
    37                             reline+=pch;
    38                             bw.write(reline);
    39                             bw.newLine();
    40                         }
    41                             
    42                         reline=ch;
    43                         reline+=line.substring(i);
    44                         reline+=pch;
    45                         i+=8;
    46                         bw.write(reline);
    47                         bw.newLine();
    48                         reline=null;
    49 
    50                     }
    51                     else{
    52                         if(reline==null)
    53                             reline=String.valueOf(tem[i]);
    54                         else
    55                             reline+=tem[i];
    56                     }    
    57                 }      
    58               }
    59                 bw.flush();
    60                 bw.close();
    61                 br.close();
    62             } catch (IOException e) { 
    63                 e.printStackTrace();
    64             }
    65     }
    66 }

    因为源文件中的号码都是以8开头的8位数字 所以判断条件是那样的

    部分源文件:

      教学办公室 85290783
      教务办公室 85290787
      学生事务办公室 85290081
      外事工作办公室 85290781
      外教办公室 85290080
      项目办公室 85290786
      语音实验室 85290776
      计算机实验室 85290779
      院长办公室 85290032
      党委书记办公室 85290559
      副院长办公室 85290031

    运行结果: 

      <td> 教学办公室 </td>
      <td>85290783</td>
      <td> 教务办公室 </td>
      <td>85290787</td>
      <td> 学生事务办公室 </td>
      <td>85290081</td>
      <td> 外事工作办公室 </td>
      <td>85290781</td>
      <td> 外教办公室 </td>
      <td>85290080</td>
      <td> 项目办公室 </td>
      <td>85290786</td>
      <td> 语音实验室 </td>
      <td>85290776</td>
      <td> 计算机实验室 </td>
      <td>85290779</td>
      <td> 院长办公室 </td>
      <td>85290032</td>
      <td> 党委书记办公室 </td>
      <td>85290559</td>
      <td> 副院长办公室 </td>
      <td>85290031</td>

    完善思路:加计数器以实现两组(中文名+号码)编一<tr>

         每组之间+space 分隔

           不排斥一个办公室+多个号码的组合

    ——————————————————————————————————————————————————————————————————————

    更新15-4-21

    改进了多号码分割,但首尾要手动改正。

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.File;
     4 import java.io.FileReader;
     5 import java.io.FileWriter;
     6 import java.io.IOException;
     7 
     8 
     9 public class test {
    10     public static void main(String []args){
    11         try{
    12             String filer="F:/html/numbers.txt",filew="F:/html/result.txt";
    13             String line,ch="<td>",pch="</td>";
    14             String pass="<tr>",ppass="</tr>";
    15 
    16             
    17             File rf=new File(filer);
    18             File wf=new File(filew);
    19             BufferedReader br = new BufferedReader(new FileReader(filer));
    20             BufferedWriter bw=new BufferedWriter(new FileWriter(filew));
    21             
    22             //split by words
    23             while((line=br.readLine())!=null){
    24                 char[] a=line.toCharArray();
    25                 String reline=pch+ch;
    26                 boolean check=false;
    27                 for(int i=0;i<line.length();i++){
    28                     if(!(a[i]>='0'&&a[i]<='9')&&a[i]!=' '){
    29                         reline+=a[i];
    30                         check=true;
    31                         
    32                     }
    33                     if((a[i]>='0'&&a[i]<='9')){
    34                         if(!check) {reline="/";reline+=line.substring(i);}
    35                         else reline+=pch+ch+line.substring(i);
    36                         i+=8;
    37                     }
    38                 }
    39                 //System.out.println(reline);
    40                 bw.write(reline);
    41                 bw.newLine();
    42             }
    43             bw.flush();
    44             bw.close();
    45             br.close();
    46         }catch (IOException e) { 
    47             e.printStackTrace();
    48         }
    49     }
    50     
    51 }
    View Code
  • 相关阅读:
    《C》指针
    《C》变量
    《C》数组
    《C》VS控制台应用
    listagg wm_concat 行转列
    Linux学习之shell script
    Linux学习之正则表达式sed
    Linux学习之正则表达式grep
    Linux学习之SAMBA共享(密码验证)
    Linux学习之SAMBA共享(无密码)
  • 原文地址:https://www.cnblogs.com/verlen11/p/4427297.html
Copyright © 2020-2023  润新知