Versuchen Sie, die öffentliche Java-Methode zu extrahieren

Ich glaube, ich brauche ein Programm, um öffentliche Java-Methoden bei der Arbeit zu extrahieren, also habe ich es geschrieben Versuchen Sie, mithilfe der NewIO- und Java8-Stream-Funktionen von Java7 zu implementieren

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("Unterschrift zurücksenden: %s Methodenname:%s Argument:%s",m.group(1),m.group(2),m.group(3));
		}
		return "";
				
	}

}
Unterschrift zurücksenden:Methodenname:AbstractScriptEngine-Argument:
Unterschrift zurücksenden:Name der AbstractScriptEngine-Methode:Streit:Bindings n
Unterschrift zurücksenden:Name der ungültigen Methode:setContext-Argument:ScriptContext ctxt
Unterschrift zurücksenden:Name der ScriptContext-Methode:getContext-Argument:
Unterschrift zurücksenden:Name der Bindungsmethode:getBindings-Argument:int scope
Unterschrift zurücksenden:Name der ungültigen Methode:setBindings-Argument:Bindings bindings, int scope
Unterschrift zurücksenden:Name der ungültigen Methode:Argument setzen:String key, Object value
Unterschrift zurücksenden:Name der Objektmethode:Argument bekommen:String key
Unterschrift zurücksenden:Name der Objektmethode:eval Argument:Reader reader, Bindings bindings 
Unterschrift zurücksenden:Name der Objektmethode:eval Argument:String script, Bindings bindings
Unterschrift zurücksenden:Name der Objektmethode:eval Argument:Reader reader
Unterschrift zurücksenden:Name der Objektmethode:eval Argument:String script

Es scheint, dass die Informationen des Konstruktors ebenfalls erfasst wurden, aber ich werde mich nicht um die Details kümmern (hey)

Recommended Posts

Versuchen Sie, die öffentliche Java-Methode zu extrahieren
Java-Methode
Java (Methode)
Java zum Extrahieren von PDF-Textinhalten
[Java] Verwendung der Join-Methode
Java-Methode
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
[Java] -Methode
Versuchen Sie, Yuma in Java zu implementieren
Versuchen Sie es mit der IBM Java-Methodenverfolgung
[Java] -Methode
Schnittstelle Versuchen Sie, Java-Problem TypeScript 7-3 zu machen
Versuchen Sie, Project Euler in Java zu lösen
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
Versuchen Sie, n-ary Addition in Java zu implementieren
Verwendung der Submit-Methode (Java Silver)
[Java] Verwendung der toString () -Methode
Probieren Sie Java 8 Stream aus
Suchmethode
Java8-Methodenreferenz
[Java] Einführung in Java
Einführung in Java
Java8-Methodenreferenz
Versuchen Sie es mit Java 9
[Java] Zufällige Methode
[Java] Split-Methode
Versuchen Sie, eine Java 8-Umgebung unter Amazon Linux2 zu erstellen
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Inkrementierungsverhalten Versuchen Sie, Java zum Problem TypeScript 3-4 zu machen
Zeichenfolgenoperation Versuchen Sie, das Java-Problem in TypeScript 9-3 zu ändern
Verwendung der replace () -Methode (Java Silver)
Versuchen Sie, TCP / IP + NIO mit JAVA zu implementieren
[Java] Versuchen Sie, das Fizz Buzz-Problem zu lösen
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Versuche Edelstein freizugeben
JAVA DB-Verbindungsmethode
Java Learning 2 (Lernen Sie die Berechnungsmethode)
Initialisierung von for Versuchen Sie, das Java-Problem in TypeScript 5-4 zu ändern
Java-Lernnotiz (Methode)
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
[Java] Stellen Sie eine Verbindung zu MySQL her
Informationen zur Bindung von Java-Methoden
Informationen zu Aufteilungsmethoden (Java)
Java 8 studieren (siehe Methode)
Java-Programmierung (Klassenmethode)
Von Java zu Ruby !!
Versuchen Sie, mit Java eine Verbindung zu AzureCosmosDB Emulator for Docker herzustellen
Versuchen Sie, ein eingeschränktes FizzBuzz-Problem in Java zu lösen
Einführung in den Java-Befehl
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen
Über Java-Kapselung privat öffentlich
[Java] Grundlegende Methodenhinweise
Versuchen Sie es mit der Methode each_with_index
16 Entspricht dem Methodenaufruf
Versuchen Sie es mit dem Java-Rückgabewert
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Einstellungsmethode zum Verknüpfen von Java von Eclipse und Github / September 2017
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①