Hola...
Si usas un FileInputStream para leer los datos de origen y un FileOutputStream para escribirlos, puedes leer con el comando read() (1 byte) o bien, un array de bytes. Los escribes en tu fichero de salida (con write() ). Cuando quieras cortar, cierras tu FileOutputStream, creas otro nuevo y continúas así hasta que se termine el fichero.
Un saludo.