Modificar txt formato de documento de la novela de título

A medida que el lector de novelas teléfono móvil sólo reconoce que el título "el primer capítulo xxx" y similares, 
se requiere txt el documento titulado "\ d {2,3} \. ?" Fue cambiado a "primero \ d {2,3 capítulo}.
Ejemplo: "Sarkar 01 Gauss sospecha vida tendrá" a 'capítulo 01 tendrá Sarkar Ki sospecha de la vida'
código es el siguiente:
importación java.io. * ;
importación java.util.regex.Matcher;
importación java.util.regex.Pattern; 

pública  clase de prueba {
     privada  estática Cadena leer (src Archivo) { 
        cadena de texto = "" ;
        si (! src.exists ())
             de retorno de texto; 
        StringBuilder sb = nuevo StringBuilder (texto); 
        BufferedReader br = nulo ;
        intente { 
            br = nueva BufferedReader ( nuevo InputStreamReader (nueva FileInputStream (src), "GBK" )); 
            Línea de cuerda; 
            mientras que ((línea = br.readLine ()) =! nulo ) 
                sb.append (línea) .Append ( "\ r \ n" ); 
            texto = nuevo String (sb); 
        } Catch (IOException e) { 
            e.printStackTrace (); 
        } Finalmente {
             tratar { 
                br.close (); 
            } Catch (IOException e) { 
                e.printStackTrace (); 
            } 
        } 
        Volver texto;
    } 

    Privada  estática  vacío de escritura (dest archivo, cadena de texto) { 
        BufferedWriter BW = nula ;
        intentar {
             si (! dest.exists ()) 
                dest.createNewFile (); 
            bw = nuevo BufferedWriter ( nuevo OutputStreamWriter ( nuevo FileOutputStream (dest), "utf8" )); 
            bw.write (texto); 
        } Catch (IOException e) { 
            e.printStackTrace (); 
        } Finalmente {
             tratar { 
                bw.close (); 
            } la captura (IOException e) { 
                e.printStackTrace (); 
            } 
        } 
    } 

    / ** 
     * El título "\ d {2,3} \ {0,1}" modificar "en la \ d {2,3} Capítulo " 
     * @param el src 
     * @param dest
      * / 
    pública  estática  vacío improveAndCopy (Presente el src, dest archivo) { 
        cadena de texto = Read (sRC); 
        el patrón patrón = de Pattern.compile (" (\\ \\ n-R & lt) (D {2,3} \\) \\ ".? ); 
        Matcher m = Pattern.matcher (texto); 
        el StringBuffer SB = new new StringBuffer ();
         al mismo tiempo (m.find ())
         / ** 
         * modificado a partir de la última posición de carácter del comienzo de la siguiente, a modificar esta posición, estamos anexados para sb. 
         * Si la modificación por primera vez, la posición por defecto, por primera vez modificado 0 caracteres. Que anexar un carácter de la primera posición a la modificación de la SB. 
         * / 
            M.appendReplacement (sb, m.group ( 1) + "de" + m.group (2) + "Capítulo" );
         // El resto del contenido del documento a sb append en 
        m.appendTail (sb) ; 
        texto = sb.ToString (); 
        Write (dest, texto); 
    } 

    pública  estáticas  void main (String [] args) { 
        Presente el src = new new File ( "C: \\ Administrador de los usuarios \\ \\ \\ I SA Descargas Caskey no será fácil .txt correa " );
        Dest archivo =nueva nuevo archivo ( "C: \\ \\ Escritorio administrador los usuarios \\ \\ no voy a ser fácil perro Sarkar Chomsky con un .txt" ); 
        improveAndCopy (src, dest); 
    } 
}

 

 
 

Supongo que te gusta

Origin www.cnblogs.com/xiehuazhen/p/12539320.html
Recomendado
Clasificación