Mensagens enviadas por: Guilherme Silveira
Índice dos Fóruns » Perfil de Guilherme Silveira » Mensagens enviadas por Guilherme Silveira
Autor Mensagem
opa, seja bem vindo....

realmente precisamos de um pouco mais de informacao pra poder ajudar nesse caso.
o problema deve estar em algum lugar com a conexao e o jeito que ela eh tratada na troca de mensagens com a api do swing

aguardando um pouco mais de info,

Guilherme Silveira
alias esse eh um bom assunto pra um tutorial simples, muita gente ira perguntar sobre isso

Guilherme
Opa, bem vindo ao forum....

Entao, voce esta querendo abrir um arquivo em modo ASCII, alterar algo e salvar novamente, porem com outro nome.
Existe algumas dezenas de diferentes metodos que vao chegar no mesmo resultado. Vou te explicar um e se nao for o que interessa diga que posso explicar alguns outros.

Basicamente voce tem que primeiro abrir o arquivo que voce quer ler e o que voce quer gravar, fazemos isso ao com o seguinte codigo:



Linha 1: abre o arquivo numa stream
Linha 2: converte bytes em caracteres
Linha 3: cria um buffer para acesso mais rapido ao arquivo

E agora o de escrita:


Linha 1: abre o arquivo para escrita (voce pode abrir para append tambem se desejar)
Linha 2: abre o escritor (converte Strings em caracteres etc)

agora falta ler o arquivo ate o fim e ir jogando os dados no segundo arquivo. primeiro criamos uma variavel que vai ler cada linha e depois um loop do tipo while ira parsear o arquivo inteiro, linha por linha, gravando a nova linha no novo arquivo:



e fechamos os objetos de io:


esse metodo que te ensinei pode ser util quando voce quer alterar uma parte do arquivo, existem outros metodos que irao primeiro ler o arquivo e depois salvar, por exemplo.

detalhe importante: eh bom uso de java fechar todos os objetos de io criados, com o metodo close() apos o uso. Sempre na ordem contraria da abertura.

Espero ter ajudado,

Guilherme Silveira[/i]
Estou implementando um Iterator que nao ira ter suporte ao metodo remove(), mas nao sei se o contrato do metodo seria entao jogar uma excecao de real time ou simplesmente retornar sem fazer nada.
A especificacao da API nao diz nada, soh menciona que o metodo eh opcional.

Alguem conhece alguma implementacao sem esse metodo e o que eles optaram em fazer?

Guilherme
ja vi um site brasileiro que mandava no form o nome da imagem para comparar o conteudo
e ja vi um outro site brasileiro que se limitava a um certo numero de imagens diferentes, coisa mais triste ainda......

ve se o site que esta tentando tem um fracasso assim tambem

ps: no terra ou uol eu vi um que era tao embaralhado que nem eu conseguia ler (com os olhos) o codigo que estava escrito, horrivel...

guilherme
A Virtual Machine ira criar cerca de 5 objetos de tipo String sem contar os que ja tinham sido criados (variavel_Nome e variavel_Endereco) que nao tenho certeza se sao Strings ou nao (podem ser int's ou outros objetos quaisquer).
Uma vez que seu objetivo eh usar a classe StringBuffer entao eh mais rapido utilizar o seguinte codigo:



Fazendo o teste com o seu codigo e com o meu, variavel_Nome=new String("Guilherme"), variavel_Endereco=new String("Carl-diem Strasse 33"), para um loop de 5.000.000 vezes tenho o resultado abaixo. (TODAS as variaveis sao criadas com NEW dentro do codigo do for)

Seu codigo: 11173 msecs
Meu codigo: 8468 msecs

Isso significa que eh claro que seu codigo ira rodar extremamente rapido, uma vez que ele cria soh 5 objetos. Porem o codigo que mostrei ira rodar ainda mais rapido, e numa aplicacao onde o trabalho com Strings eh enorme pode ser MUITO mais aconselhavel o segundo metodo (20% mais rapido).

Espero ter ajudado..

Guilherme Silveira
Opa, bom dia e bem vindo,

Eu nao posso responder com 100% de codigo aqui pra voce pois sua pergunta ficou um pouco vaga demais.
Posso mostrar o seguinte:



O problema eh que para corrigir um erro que possa estar no seu codigo precisamos ver seu codigo, claro que postar o trecho com problema ja ajuda, nao precisa ser tudo. E melhor ainda quando voce conseguir mostrar a exception que ocorre - caso seja uma exception - usando o metodo exception.printStackTrace(System.out);

Espero que tenha resolvido seu problema, se nao, por favor envie a stack trace da exception e o trecho com erro

Abraco

Guilherme Silveira
Bom dia Andre,
Com certeza o codigo a seguir nao deveria apresentar um problema para o compilador:


O que faz imaginar que o erro esta em algum outro lugar. Voce tem como testar o seguinte:
- abra a classe que nao esta compilando
- esvazie todos os metodos para soh ter o return deles
- remova todas as variaveis membros

Entre cada passo veja se a classe esta compilando. O Erro deve continuar la.
Ai envie o codigo da classe aqui (deve ficar pequeno pois vc esvaziou os metodos) e terei como tentar compilar com a versao 1.4 que tenho aqui tambem.

outras coisas uteis sao:
Voce sabe indicar se a versao eh a 1.4.01 ou 1.4.1 candidate?
Voce esta utilizando o compilador para qual sistema operacional?

O erro do "." expected costuma aparecer quando esquecemos de fechar uma instrucao ou fechamos a mesma muito cedo, seja com conchete, aspa ou parentes.

Abraco e fico aguardando resposta,

Guilherme Silveira
posta o desenho preu ve sim
e eu quero
Paulo Silveira wrote:Se alguém estiver a fim de fazer um tutorial de um Cache que elimine por tempo, era legal. Tipo, ele tenta dar um get(), e se o tempo expirou o MAX_TIME, ele retorna null e remove o elemento do Map.


Eu tenho ja umas classes assim, soh que eh copyrighted neh.... inutil, mas blz, da pra basea....
O MAX_TIME nao pode ser constante, tem q ser setavel (com synchronized, claro)
Nao soh o get mas o metodo hasGot ou qq coisa do genero, que checa se uma url ja esta no cache (url pra um objeto, nao pra um site na internet, isso eh uma uri?) deve tambem fazer essa verificacao
E o metodo removeEldelst continuaria o mesmo. Mas precisa tambem de um removeRandom e remove(especifico).

Guilherme
Foi ele sim, eu lembro, tava la quando ele falou isso, 10 de outubro de 1983, tinha 2 anos, mas lembro....
Entaum, Paulo, me manda um pouco mais da explicacao do balao de festa junina q eh uma boa metafora pra usa no baguio sim...... sei la, link pro site do livro, o nome do livro, o tipo, qq coisa

Valeu

Gui
OOp.... apesar desse topico ter de ser considerado BASICO no java to postando no AVANCADO pq preciso de ajuda de gente que saiba como argumentar.

Acontece que na minha empresa serei o responsavel pra ensinar pra galera "procedural" o porque eh vantajoso usar oop em java....... detalhe que todos usam java, mas programam proceduralmente....

preciso de argumentos para combater as tendencias de criar uma classe que faca tudo, uma excecao que signifique tudo (sem ter filhas) e por ai vai......

preciso explicar a vantagem de usar objetos que representam coisas reais, como por exemplo Class Horse e Class Zebra extends Horse pra facilidade no entendimento quando outra pessoa tentar ler seu codigo.
Na hora de separar a implementacao da funcionalidade (interfaces contra classes abstratas) e por ai vai.....

Alguem tem mais sugestoes?

Guilherme
Achei muito legal, e simples, esse jeito de criar um objeto de cache.
Ainda pode ser aperfeicoado colocando o tempo maximo que um objeto pode ficar no cache e, tambem como opcional, o maximo de megas que devem ser guardados em cache.
Infelizmente Java nao tem nenhuma funcao .sizeof e o metodo convencional de descobrir o tamanho de um objeto eh, no minimo, um tanto quanto ruim. Entao fica um pouco dificil esse maximo de megas, se alguem tiver alguma solucao razoavel/boa, me de uma avisada.

Guilherme Silveira
Como assim uma geral?
entao paulo, o codigo nao parece ter coisas erradas....
o seu metodo de devolver uma connection nao checa se a connection faz parte da sua pool ou nao, o q pode acontecer:
alguem fazer uma conexao de outra maneira (ou mesmo com uma outra connection pool) e devolver, por erro, para a tua connection pool, isto eh: sua conection pool vai ficar com uma conexao errada la dentro e pode devolver ela pra alguem que nao quer uma conexao errada.
Sem contar que se alguem fizer isso (por erro o umaldade pra dar o bug do teu codigo) vc podera acabar tendo uma connection pool com mais connections q o maxconnections ja que ele nao eh testado na hora de devolver.

Pra resolver isso eh manter uma pilha de connections livres e outra de connections usados. Quando um usado eh devolvido, voce verifica se ele esta na de usados, se estiver, retira e joga na de nao usados.


Outra coisa, pra fazer um teste serio, cria uma servlet q faz as 800 queries e cria um html com 2 elevado a 64 frames (facil de fazer) que abre a servlet..... e faz a conta de quantos queries estarao sendo feitos....

Foi assim q testei meu codigo

Gui
 
Índice dos Fóruns » Perfil de Guilherme Silveira » Mensagens enviadas por Guilherme Silveira
Ir para:   
Powered by JForum 2.1.8 © JForum Team