[color=green]Oh… Não é sobre as conversas de antes de todos. Mas posto aqui neste post, pois vejo que mesmo o post estando antigo, temos várias cabeças com várias opiniões interessantes que já deram a este, um grande conteúdo em conhecimento sobre o assunto.
Vocês mais velhos na linguagem, entendem melhor sobre a linguagem. DE NOVO: Eu não tô aqui para reviver a MESMA QUESTÃO que foi iniciada neste post, estou aqui para aproveitar o grande conteúdo deste, e adicionar algo mais.
Estou ciente de que posts antigos não devem ser revividos. Mas pensem neste papilo antigo como conhecimento. Um conhecimento que foi discutido durante tempos e tempos por profissionais de todas as áreas e muitos que conhecem a essência da linguagem de programação. Então não vejo motivo para não aproveitar este caderninho de anotações e incrementar alguma coisa nele. Acredito que conhecimento não deve ser jogado fóra assim, de maneira tão “crua”. Por isso não acho necessidade em criar um novo post sobre isso. Provavelmente iam vir falando: “lá vem de novo outro com a mesma 2$¨”. Então também foi por isso.
Mas antes que alguém venha com argumentos contra os meus, peço logo desculpa por estar sendo talvez um ignorante e ter achado que poderia aproveitar isso.[/color]
------------------------ MINHA DÚVIDA -------------------------
Acredito que muitos aqui já leram o livro “Java como programar 6ª edição” da editora Deitel. Eu estava começando a estudar o uso da classe RandomAccessFile e notei que na página 526, a classe de nome WriteRandomFile, na linha 84, tem um comando que de acordo com o livro (o autor e, não eu) fala que este comando tem um ponteiro ou uma espécie de ponteiro (eu não sei o que ele quis dizer, essa é minha dúvida. Afinal eu não entendo de ponteiros muito bem). Eu não entendi pois deus e o mundo diz que não existem ponteiros em Java. Eu concordo (pelos argumentos apresentados aqui por todos), mas, eu gostaria de entender qual a intenção do livro de dizer isso por exemplo:
[color=blue]“O aplicativo nas figuras 14.26-14.27 grava os dados em um arquivo que é aberto com o modo rw (para leitura e gravação). Ele utiliza o método seek RandomAcessFile para posicionar a localização exata no arquivo em que um registro das informações é armazenado. O método seek configura o ponteiro de posição no arquivo, como um local específico no arquivo relativo ao começo do arquivo, e o método RandomAcessAccountRecord write gera saída dos dados na posição atual no arquivo. O programa supõe que o usuário não insere números de conta duplicados.”[/color]
Depois no segundo parágrafo da página 528, ele diz isso:
[color=blue]“As linhas 84-85 chamam o método RandomAcessFile seek para posicionar o ponteiro de posição no arquivo na localização do objeto output de acordo com o byte calculado por (accountNumber - 1) * RandomAccessAccountRecord.SIZE. Os números de conta nesse programa estão no intervalor de 1-100. Subtraímos um do número de conta ao calcular a localização de bytes do registro.”[/color]
Olha eu não tô querendo colocar o código da classe toda pois acredito que vocês têm esse livro. Mas eu vou colocar como está a linha 84:
output.seek( ( accountNumber - 1) * RandomAcessAccountRecord.SIZE );
output é um objeto RandomAcessFile.
accountNumber é uma variável criada que receberá um número de 1 a 100 do usuário que deseja criar uma conta.
RandomAcessAccountRecord é uma classe criada anteriormente cujo sua função é ler um registro e/ou armazenar dados ao arquivo (que é gerado depois).
Eu no começo pensei que ele multiplicava, já não tinha entendido. Mas quando ele mencionou a palavra ponteiro, aí piorou…
Se alguém puder me ajudar, eu ficaria realmente feliz e grato. Tô aqui para tirar dúvida, não gerar brigas e etc…
Obrigado pela atenção de todos.