Quando ele falou preguiçoso falou de forma genérica. Quando eu falei que a chamada do gc poderia ser desabilita para evitar que alguém use isso para esconder um código mal feito, também me referi de forma genérica . Ninguém aqui quis ofendê-lo, apenas estamo querendo alertar que não se pode confiar em uma chamada ao gc, pois o mesmo pode demorar tempo suficiente que chegue a ponto de afetar a aplicação, só isso.[/quote]
sim, entendemos que tenha sido dito de forma generica, mas não acredito que seja exatamente o que vocês disseram (ao menos não em qualquer caso, pode ser que esse problema só aconteça em um SO especifico pro exemplo… sei la) por que eu tive esse mesmo problema e nem sequer abri algum inputStream, quanto mais esqueci de fechar como vocês disseram, de qualquer forma em certos casos o arquivo simplesmente precisa ser apagado, não tem referência nenhuma de alguém lendo-o como tinha dito e assim mesmo o problema ocorre (experiência própria). Então para apagarmos devemos pagar um preço, ou chamamos Runtime e acabamos com o lado multiplataforma, ou chamamos o gc antes e depois damos o delete ou simplesmente o arquivo não é apagado (a menos que você me diga outra forma de fazer isso…). O gc demorar tantos segundos para apagar um arquivo é mais raro do que ser importante apagar estes arquivos (de repente para não acumularem e ficarem ocupando muito espaço), cabe a quem está envolvido com o processo decidir o que fazer, cada caso é um caso…
quanto a eu ficar ofendido acho meio pouco para chegar a ficar ofendido, mas considero que a explicação se faz necessária numa situação dessas.