Class FileUtils

java.lang.Object
io.karatelabs.common.FileUtils

public class FileUtils extends Object
  • Field Details

    • WORKING_DIR

      public static final File WORKING_DIR
    • KARATE_OUTPUT_DIR

      public static final String KARATE_OUTPUT_DIR
      System property to explicitly set the build/output directory.
      See Also:
  • Method Details

    • getBuildDir

      public static String getBuildDir()
      Detect the build directory based on the build tool being used. Returns "build" for Gradle projects, "target" for Maven projects.

      Detection order (first match wins):

      1. System property karate.output.dir - explicit override
      2. Build files: build.gradle, build.gradle.kts → "build"
      3. Build files: pom.xml (without Gradle files) → "target"
      4. Existing directories: build/ (without target/) → "build"
      5. JVM command line contains "org.gradle." → "build"
      6. Gradle test worker system property → "build"
      7. Default: "target" (Maven convention)
      Returns:
      "build" for Gradle, "target" for Maven
    • toString

      public static String toString(File file)
    • toString

      public static String toString(URL url)
    • toBytes

      public static byte[] toBytes(URL url)
    • toString

      public static String toString(InputStream is)
    • toBytes

      public static byte[] toBytes(File file)
    • toBytes

      public static byte[] toBytes(InputStream is)
    • toByteStream

      public static ByteArrayOutputStream toByteStream(InputStream is)
    • toString

      public static String toString(byte[] bytes)
    • toBytes

      public static byte[] toBytes(String string)
    • copy

      public static void copy(File src, File dest)
    • writeToFile

      public static void writeToFile(File file, byte[] data)
    • writeToFile

      public static void writeToFile(File file, String data)
    • toInputStream

      public static InputStream toInputStream(String text)