scala.sys.process

# BasicIO

#### object BasicIO

This object contains factories for scala.sys.process.ProcessIO, which can be used to control the I/O of a scala.sys.process.Process when a scala.sys.process.ProcessBuilder is started with the `run` command.

It also contains some helper methods that can be used to in the creation of `ProcessIO`.

It is used by other classes in the package in the implementation of various features, but can also be used by client code.

Source
  BasicIO.scala

Linear Supertypes
AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. BasicIO
2. AnyRef
3. Any

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### final val BufferSize: Int(8192)

   Size of the buffer used in all the functions that copy data

5. #### final val Newline: String

   Used to separate lines in the `processFully` function that takes `Appendable`.

6. #### def apply(withIn: Boolean, log: ProcessLogger): ProcessIO

   Creates a `ProcessIO` from a `ProcessLogger` .

   Creates a `ProcessIO` from a `ProcessLogger` . It can attach the process input to stdin.

   withIn

     True if the process input should be attached to stdin.

   log

     A `ProcessLogger` to receive all output, normal and error.

   returns

     A `ProcessIO` with the characteristics above.

7. #### def apply(withIn: Boolean, buffer: StringBuffer, log: Option[ProcessLogger]): ProcessIO

   Creates a `ProcessIO` that appends its output to a `StringBuffer`.

   Creates a `ProcessIO` that appends its output to a `StringBuffer`. It can attach the process input to stdin, and it will either send the error stream to stderr, or to a `ProcessLogger`.

   For example, the `ProcessIO` created by the function below will store the normal output on the buffer provided, and print all error on stderr. The input will be read from stdin.

       import scala.sys.process.{BasicIO, ProcessLogger}
       val printer = ProcessLogger(println(_))
       def appendToBuffer(b: StringBuffer) = BasicIO(true, b, Some(printer))

   withIn

     True if the process input should be attached to stdin.

   buffer

     A `StringBuffer` which will receive the process normal output.

   log

     An optional `ProcessLogger` to which the output should be sent. If `None`, output will be sent to stderr.

   returns

     A `ProcessIO` with the characteristics above.

8. #### def apply(withIn: Boolean, output: (String) ⇒ Unit, log: Option[ProcessLogger]): ProcessIO

   Creates a `ProcessIO` from a function `String => Unit`.

   Creates a `ProcessIO` from a function `String => Unit`. It can attach the process input to stdin, and it will either send the error stream to stderr, or to a `ProcessLogger`.

   For example, the `ProcessIO` created below will print all normal output while ignoring all error output. No input will be provided.

       import scala.sys.process.BasicIO
       val errToDevNull = BasicIO(false, println(_), None)

   withIn

     True if the process input should be attached to stdin.

   output

     A function that will be called with the process output.

   log

     An optional `ProcessLogger` to which the output should be sent. If `None`, output will be sent to stderr.

   returns

     A `ProcessIO` with the characteristics above.

9. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

10. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

11. #### def close(c: Closeable): Unit

    Closes a `Closeable` without throwing an exception

12. #### def connectToIn(o: OutputStream): Unit

    Copy contents of stdin to the `OutputStream`.

13. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

14. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

15. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

16. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

17. #### def getErr(log: Option[ProcessLogger]): (InputStream) ⇒ Unit

    Returns a function `InputStream => Unit` given an optional `ProcessLogger`.

    Returns a function `InputStream => Unit` given an optional `ProcessLogger`. If no logger is passed, the function will send the output to stderr. This function can be used to create a scala.sys.process.ProcessIO.

    log

      An optional `ProcessLogger` to which the contents of the `InputStream` will be sent.

    returns

      A function `InputStream => Unit` (used by scala.sys.process.ProcessIO) which will send the data to either the provided `ProcessLogger` or, if `None`, to stderr.

18. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

19. #### def input(connect: Boolean): (OutputStream) ⇒ Unit

    Returns a function `OutputStream => Unit` that either reads the content from stdin or does nothing.

    Returns a function `OutputStream => Unit` that either reads the content from stdin or does nothing. This function can be used by scala.sys.process.ProcessIO.

20. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

21. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

22. #### final def notify(): Unit

    Definition Classes
      AnyRef

23. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

24. #### def processFully(processLine: (String) ⇒ Unit): (InputStream) ⇒ Unit

    Returns a function `InputStream => Unit` that will call the passed function with all data read.

    Returns a function `InputStream => Unit` that will call the passed function with all data read. This function can be used to create a scala.sys.process.ProcessIO. The `processLine` function will be called with each line read, and `Newline` will be appended after each line.

    processLine

      A function that will be called with all data read from the stream.

    returns

      A function `InputStream => Unit` (used by scala.sys.process.ProcessIO which will call `processLine` with all data read from the stream.

25. #### def processFully(buffer: Appendable): (InputStream) ⇒ Unit

    Returns a function `InputStream => Unit` that appends all data read to the provided `Appendable`.

    Returns a function `InputStream => Unit` that appends all data read to the provided `Appendable`. This function can be used to create a scala.sys.process.ProcessIO. The buffer will be appended line by line.

    buffer

      An `Appendable` such as `StringBuilder` or `StringBuffer`.

    returns

      A function `InputStream => Unit` (used by scala.sys.process.ProcessIO which will append all data read from the stream to the buffer.

26. #### def processLinesFully(processLine: (String) ⇒ Unit)(readLine: () ⇒ String): Unit

    Calls `processLine` with the result of `readLine` until the latter returns `null` or the current thread is interrupted.

27. #### def standard(in: (OutputStream) ⇒ Unit): ProcessIO

    Retruns a `ProcessIO` connected to stdout, stderr and the provided `in`

28. #### def standard(connectInput: Boolean): ProcessIO

    Returns a `ProcessIO` connected to stdout and stderr, and, optionally, stdin.

29. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

30. #### def toStdErr: (InputStream) ⇒ Unit

    Send all the input from the stream to stderr, and closes the input stream afterwards.

31. #### def toStdOut: (InputStream) ⇒ Unit

    Send all the input from the stream to stdout, and closes the input stream afterwards.

32. #### def toString(): String

    Definition Classes
      AnyRef → Any

33. #### def transferFully(in: InputStream, out: OutputStream): Unit

    Copy all input from the input stream to the output stream.

    Copy all input from the input stream to the output stream. Closes the input stream once it's all read.

34. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

35. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

36. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from AnyRef

### Inherited from Any

### Ungrouped