Class StreamsReadersWriters

java.lang.Object
eu.bandm.tools.util.files.StreamsReadersWriters

public class StreamsReadersWriters extends Object
Utility class of static methods for frequently needed operations on stream/reades/writers etc.
  • Method Details

    • copyFiles

      public static void copyFiles(File in, File out) throws IOException
      Copy the contents of one file verbatim (on the level of byte io) into the other.
      Throws:
      IOException
    • copyStreams

      public static void copyStreams(InputStream in, OutputStream out) throws IOException
      Copy the contents of one stream verbatim (on the level of byte io) into the other. Opening and closing of both Streams is left to the caller.
      Throws:
      IOException
    • copyReaderWriter

      public static void copyReaderWriter(Reader in, Writer out) throws IOException
      Copy the contents of the Reader verbatim (on the level of character io) into the writer. Opening and closing of Reader and Writer is left to the caller.
      Throws:
      IOException
    • replace

      public static SortedSet<Integer> replace(Reader in, Writer out, String from, String to) throws IOException
      Copy the contents of the Reader verbatim (on the level of character io) into the writer with the replacement of one given String by another. The caller is responsible for closing, esp. of the Writer. The line terminator written is '\\n'.
      Returns:
      the line numbers (1-based) in which at least one replacement has been executed.
      Throws:
      IOException
      See Also:
    • replace

      public static SortedSet<Integer> replace(Reader in, Writer out, String from, String to, String eoLine) throws IOException
      Copy the contents of the Reader verbatim (on the level of character io) into the writer with the replacement of one given String by another. The caller is responsible for closing, esp. of the Writer. The line terminator written is '\\n'.
      Parameters:
      eoLine - the line termination character sequence written to the output.
      Returns:
      the line numbers (1-based) in which at least one replacement has been executed.
      Throws:
      IOException
    • readTextFileIntoString

      public static String readTextFileIntoString(File input) throws IOException
      Read the character contents of the given file into one (large) String value. Assumes that the file is encoded in StandardCharsets.UTF_8.
      Throws:
      IOException
    • readTextFileIntoString

      public static String readTextFileIntoString(InputStream stream) throws IOException
      Read the character contents of the given stream into one (large) String value. Assumes that the file is encoded in StandardCharsets.UTF_8.
      Throws:
      IOException
    • readTextFileIntoString

      public static String readTextFileIntoString(Reader reader) throws IOException
      Read the character contents of the character reader into one (large) String value.
      Throws:
      IOException
    • writeStringToTextFile

      public static void writeStringToTextFile(String text, File file) throws IOException
      Write the string into a newly opened file. Do so encoded in StandardCharsets.UTF_8.
      Throws:
      IOException
    • copyToDocFiles

      public static void copyToDocFiles(String outputRootDir, String packageName, String filename) throws IOException
      Copies an input file to a source text generator tool into the doc-files sub-directory of the output dir, into which the sources are generated.
      Parameters:
      outputRootDir - the directory into which all generated sources are stored by the tool. in sub-directories indicated by a non-empty package name.
      packageName - the name of the generated package, indicates the sub-directory below outputRootDir.
      filename - the name of the file to copy. The local part of the file is kept, the file system position is given by outputRootDir and packageName.
      Throws:
      IOException