es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede comprobar si un archivo existe utilizando la función Java dentro de Dataweave 2.

Desearía poder verificar si un archivo existe utilizando algunas funciones de Java dentro de un script de Dataweave 2.0:

%dw 2.0
output application/dw
import java!java::nio::file::Files::exists
import java!java::nio::file::Paths::get
---
exists(get("C:\Users\mhery\stackoverflow.csv"))

Pero recibo el siguiente error:

'exists(get("C:\Users\mhery\stackoverflow.csv"))' tiene errores:
    No se puede resolver el módulo con el identificador java::nio::file::Files::exists. en 3 : 3
    No se puede resolver el módulo con el identificador java::nio::file::Paths::get. en 4 : 4

También intenté otros enfoques pero no tuve éxito al importarlos.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no es posible utilizar funciones de Java directamente dentro de un script de Dataweave 2.0. Esto es porque Dataweave 2.0 utiliza un subconjunto del lenguaje Java, y no todas las clases y funciones de Java están disponibles para su uso.

    Una posible solución es crear una clase de Java que verifique si un archivo existe y luego llamar a esta clase desde el script de Dataweave utilizando el módulo de Java. Aquí hay una implementación de ejemplo:

    En Java:

    package com.example;
    
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    
    public class FileChecker {
        public static boolean fileExists(String path) {
            Path filePath = Paths.get(path);
            return Files.exists(filePath);
        }
    }
    

    En Dataweave:

    %dw 2.0
    output application/dw
    import java!com::example::FileChecker
    ---
    FileChecker::fileExists("C:\\Users\\mhery\\stackoverflow.csv")
    

    Al llamar al método fileExists de la clase FileChecker, que verifica si el archivo existe en la ruta dada, ahora podemos determinar si un archivo existe en Dataweave utilizando Java.

Comments are closed.