Essayez d'extraire la méthode publique de java

Je pense que j'ai besoin d'un programme pour extraire les méthodes publiques java au travail, alors je l'ai écrit Essayez de mettre en œuvre à l'aide des fonctions de flux NewIO et Java8 de Java7

JavaFileAnalyser.java



package triple;

import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

public class JavaFileAnalyser {
	private static Pattern PATTERN ;
	public static void main(String args[]) throws Exception{
		PATTERN = Pattern.compile(".*public(.*)(?:\\s|\\t)(.*)\\((.*)\\).*");
		
		List<String> list = Files.newBufferedReader(
				Paths.get("C:/Java/jdk1.8.0_102/src/javax/script/AbstractScriptEngine.java"),
				Charset.forName("UTF-8"))
		.lines()
		.filter(JavaFileAnalyser::isMethod)
		.map(JavaFileAnalyser::parse)
		.collect(Collectors.toList());
		
		Files.write(Paths.get("C:/Users/****/workspace/FileOpe/result/result.txt"), 
				list, 
				Charset.forName("UTF8"),
                StandardOpenOption.CREATE);
	}
	
	public static boolean isMethod(String str){
		if(PATTERN.matcher(str).find()){
			return true;
		}
		return false;
	}
	
	public static String parse(String str){
		Matcher m = PATTERN.matcher(str); 
		if(m.find()){
			return String.format("Renvoyer la signature: %s nom de la méthode:%argument de s:%s",m.group(1),m.group(2),m.group(3));
		}
		return "";
				
	}

}
Renvoyer la signature:Nom de la méthode:Argument AbstractScriptEngine:
Renvoyer la signature:Nom de la méthode AbstractScriptEngine:argument:Bindings n
Renvoyer la signature:nom de la méthode void:Argument setContext:ScriptContext ctxt
Renvoyer la signature:Nom de la méthode ScriptContext:Argument getContext:
Renvoyer la signature:Nom de la méthode de liaisons:Argument getBindings:int scope
Renvoyer la signature:nom de la méthode void:Argument setBindings:Bindings bindings, int scope
Renvoyer la signature:nom de la méthode void:argumenter:String key, Object value
Renvoyer la signature:Nom de la méthode objet:obtenir un argument:String key
Renvoyer la signature:Nom de la méthode objet:argument d'évaluation:Reader reader, Bindings bindings 
Renvoyer la signature:Nom de la méthode objet:argument d'évaluation:String script, Bindings bindings
Renvoyer la signature:Nom de la méthode objet:argument d'évaluation:Reader reader
Renvoyer la signature:Nom de la méthode objet:argument d'évaluation:String script

Il semble que les informations du constructeur ont également été acquises, mais je ne me soucierai pas des détails (hé)

Recommended Posts

Essayez d'extraire la méthode publique de java
Méthode Java
java (méthode)
Java pour extraire le contenu de texte PDF
[Java] Comment utiliser la méthode de jointure
Méthode Java
[Java] Essayez de mettre en œuvre à l'aide de génériques
[Java] méthode
Essayez d'implémenter Yuma en Java
Essayez d'utiliser le traçage de méthode IBM Java
[Java] méthode
Interface Essayez de créer un problème Java TypeScript 7-3
Essayez de résoudre Project Euler en Java
[Java] Résumez comment comparer avec la méthode equals
Essayez d'implémenter l'ajout n-aire en Java
Comment utiliser la méthode de soumission (Java Silver)
[Java] Comment utiliser la méthode toString ()
Essayez Java 8 Stream
Méthode de recherche
Référence de la méthode Java8
[Java] Introduction à Java
Introduction à Java
référence de la méthode java8
Essayez grossièrement Java 9
[Java] Méthode aléatoire
[Java] méthode de fractionnement
Essayez de créer un environnement Java 8 sur Amazon Linux2
Essayez de créer un babillard en Java
Comportement incrémenté Essayez de créer un problème Java TypeScript 3-4
Opération de chaîne de caractères Essayez de changer le problème Java en TypeScript 9-3
Comment utiliser la méthode replace () (Java Silver)
Essayez d'implémenter TCP / IP + NIO avec JAVA
[Java] Essayez de résoudre le problème de Fizz Buzz
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Essayez de libérer la gemme
Méthode de connexion JAVA DB
Java Learning 2 (Apprenez la méthode de calcul)
Initialisation de for Essayez de changer le problème Java en TypeScript 5-4
Mémo d'apprentissage Java (méthode)
[Java] Comment extraire le nom du fichier du chemin
[Java] Connectez-vous à MySQL
À propos de la liaison de méthode Java
A propos des méthodes de fractionnement (Java)
Etudier Java 8 (voir méthode)
Programmation Java (méthode de classe)
De Java à Ruby !!
Essayez de vous connecter à l'émulateur AzureCosmosDB pour Docker avec Java
Essayez de résoudre un problème FizzBuzz restreint en Java
Introduction à la commande java
Essayez de créer un environnement de développement Java à l'aide de Docker
À propos de l'encapsulation Java Private Public
[Java] Notes de méthode de base
Essayez d'utiliser la méthode each_with_index
16 Correspond à l'invocation de méthode
Essayez la valeur de retour Java
Comment obtenir le nom d'une classe / méthode exécutée en Java
Méthode de paramétrage pour lier Java d'Eclipse et Github / septembre 2017
[Débutant] Essayez de créer un jeu RPG simple avec Java ①