Nous essayons de lire les fichiers de flux akka. Les fichiers contiennent des journaux et l'application est simple pour écrire les journaux dans de nouveaux fichiers. Mais quand, exécutez notre programme, nous obtenons des résultats inattendus. Notre code est ci-dessous:Impossible de lire les fichiers en utilisant akka flux
class LogsAkkaStream {
implicit val system = ActorSystem("AkkaStreams")
implicit val ec = system.dispatcher
implicit val materializer = ActorMaterializer()
val source: Source[ByteString, Future[IOResult]] = FileIO.fromPath(Paths.get("/home/harmeet/workspace/mylogs.logs"))
val sink: Sink[ByteString, Future[IOResult]] = FileIO.toPath(Paths.get("."), Set(CREATE, WRITE, APPEND))
val runnableGraph: RunnableGraph[Future[IOResult]] = source.to(sink)
runnableGraph.run().foreach { result =>
println(s"${result.status}, ${result.count} bytes read. ")
}
}
object LogsAkkaStream extends App {
new LogsAkkaStream
}
mylogs.logs
contient 1000 enregistrement en ligne, mais output
de ce programme est: Success(Done), 0 bytes read.
, nous ne bénéficient toujours pas le programme réel.
Hey fichier @Viktor est sur le bon chemin, mais je ne suis pas sûr, que se passera-t-il? –
@ harmeet-singh-taara vérifiez votre chemin de destination - "." n'est pas bon, veuillez utiliser un nom de fichier à la place. – lutzh
@Viktor, nous changeons notre code comme 'FileIO.toPath (Paths.get (" home/harmeet/logs.log "), Set (CREATE, WRITE, APPEND)), mais la même sortie se produit. –