Eso vale para cadenas cortas, ficheros de poco tamaño, pero como tengas un fichero de tamaño... algunos megas se ralentiza demasiado. Lo mejor es coger e ir guardando cadena a cadena de bytes leyendo de un FileInputStream y escribiendo seguidamente en un FileOutputStream.
Te recomiendo que revises la clase StringTokenizer del paquete java.util
Este recibe dos parametros en su construnctor, una cadena fuente y una cadena que contiene el separador (por defecto es espacio " ").