Jump to content

Stream update


sent

Recommended Posts

Boa noite,

tenho uma stream que serve par fazer o log do meu programa,

mas como eu adiciono uma linha no fim sem apagar o texto todo para traz?

o que eu tenho é isto:

PrintWriter pw = new PrintWriter("log.txt");
pw.println(msg);
pw.close();

Cumprimentos :cheesygrin:

Link to post
Share on other sites

PrintWriter pw = new PrintWriter("log.txt");
pw.println(msg);
pw.close();

o "msg" é a mensagem que irei inserir,  e eu quero fechar sempre o log cada vez que insiro uma mensagem pois se acontecer alguma coisa inesperada ao programa, ter acesso ao log.

O problema é que que quando faço PrintWriter pw = new PrintWriter("log.txt"); ele faz o flush do ficheiro, coisa que não quero - não sei se me faço entender.

Link to post
Share on other sites

Se fizeres um flush() a seguir a cada println, asseguras que o ficheiro é escrito.

Edit: também podes experimentar abrir uma FileOutputStream em modo append, o que garante que cada nova escrita é feita no fim do ficheiro:

PrintWriter pw = new PrintWriter(new FileOutputStream(new File("log.txt"),true));

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.