Attribut FILE2 (Regex)
- Dernière mise à jour2022/05/19
Attribut FILE2 (Regex)
Les expressions régulières (RegEx) sont des modèles de chaînes de caractères définis pour rechercher un fichier dans un chemin spécifié. Utilisez l'attribut FILE2
lorsque vous utilisez des expressions régulières (regex) pour créer des modèles de chaîne.
Par exemple : Si vous voulez rechercher un fichier dans le chemin d'un dossier (par exemple Hello.txt
) qui contient une certaine chaîne de caractère. . Vous utiliserez l'attribut File2
pour saisir le modèle regex suivant : Hell
ou ell
qui trouvera le fichier qui correspond aux critères de recherche. Cette rubrique est basée sur l'exemple File2TypeDemo disponible dans le Package SDK à l'emplacement suivant <PackageSDK>\src\main\java\com\automationanywhere\botcommand\samples\commands\basic\types\File2TypeDemo.java.
Utilisation de FILE2
- Assurez-vous que vous avez importé les packages suivants pour garantir que toutes les fonctionnalités fonctionnent comme décrit dans l'exemple.
import com.automationanywhere.commandsdk.annotations.*; import com.automationanywhere.commandsdk.model.AttributeType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
- Ajoutez l'annotation
@BotCommand
pour créer une classe en tant qu'action dans la Control Room. Pour plus d'informations sur les annotations, voir Annotations.@BotCommand
- Ajoutez l'annotation
@CommandPkg
afin de définir tous les composants liés à l'interface utilisateur, comme les étiquettes, description, icône, type de retour et nom.@CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
- Créez une méthode (par exemple : regexFile) dans votre classe et définissez les champs comme décrit ci-dessous.
- Annotez la méthode avec
@Execute
pour exécuter la méthode lors de la compilation. - Dans l'exemple ci-dessous,
@Idx
,@Pkg
et@NotEmpty
sont définis comme des paramètres de la méthode. S'ils sont utilisés en tant que membre de la classe, alors vous devez utiliser les méthodesset
etget
pour les définir.@Idx
- Définit l'index d'une action. (@Idx(index = "1", type = AttributeType.FILE2)
)@Pkg
- Définit tous les paramètres et variables membres présentés dans l'interface (@Pkg(label = "[[File2TypeDemo.localFile.label]]")
). Doit être accompagné de@Idx
, sinon cette annotation est ignorée.@NotEmpty
- Définit que ce paramètre ne peut pas être vide (@NotEmpty @LocalFile FileValue fileValue)
).@BotCommand @CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo") public class File2TypeDemo { private static Logger logger = LogManager.getLogger(File2TypeDemo.class); @Execute public void regexFile( @Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue)
- Annotez la méthode avec
- Construisez et chargez le package personnalisé dans la Control Room. Pour plus d'informations sur le chargement de package, voir Utilisation du package SDK.
- Créez un robot.
- Faites glisser l'action dans le canevas et vous pourrez saisir l'expression regex pour trouver un fichier. Une zone de saisie semblable à cette image s'affiche.
Impression de la Regex - Nom du dossier et l'emplacement du fichier
Utilisez l'interface Enregistreur obtenue à partir du package Log4j pour fournir des informations sur les objets manipulés. Dans l'exemple ci-dessous, vous serez en mesure d'enregistrer le nom du dossier et l'emplacement du fichier local en utilisant la méthode debug
.
@BotCommand
@CommandPkg(label = "[[File2TypeDemo.label]]",
description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
public class File2TypeDemo {
private static Logger logger = LogManager.getLogger(File2TypeDemo.class);
@Execute
public void regexFile(
@Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue) {
if (fileValue.isRegex()) {
RegexFile regexFile = fileValue.getRegex();
logger.debug("folder name {}", regexFile.getFolder());
logger.debug("local file location {}", regexFile.getFileNamePattern().toString());
} else {
logger.debug("Regex option is not selected");
}
}