Java: Trabalhando com arquivos de disco
Alguns programas Java ler caracteres do teclado do computador. Mas o código Java nesta lista lê caracteres a partir de um arquivo específico. O arquivo neste exemplo (nomeado EmployeeInfo.txt) Vive no disco rígido do computador.
importação java.util.Scanner-import java.io.File-import java.io.IOException classe pública DoPayroll {void main (args String []) public static lança IOException {Scanner diskScanner = new Scanner (new File ( "EmployeeInfo. txt ")) - para (int empnum = 1- empnum lt; = 3- empnum ++) {payOneEmployee (diskScanner) -} diskScanner.close () -} payOneEmployee void (aScanner Scanner estática) {Employee anEmployee = new Employee()-anEmployee.setName(aScanner.nextLine())-anEmployee.setJobTitle(aScanner.nextLine())-anEmployee.cutCheck(aScanner.nextDouble())-aScanner.nextLine()-}}
este EmployeeInfo.txt arquivo é como um documento de processamento de texto. O arquivo pode conter letras, números e outros caracteres. Mas ao contrário de um documento de processamento de texto, o EmployeeInfo.txt arquivo contém nenhuma formatação - sem itálico, sem negrito, não há tamanhos de fonte, nada desse tipo.
o EmployeeInfo.txt arquivo contém apenas caracteres ordinários - os tipos de teclas que você digita quando você jogar um jogo de adivinhação. Claro que, ficando suposições do teclado de um usuário e ler dados do funcionário de um arquivo de disco não são exatamente os mesmos.
Em um jogo de adivinhação, o programa exibe prompts, como Insira um int de 1 a 10. O programa de jogo conduz um diálogo vai-e-vem com a pessoa sentado ao teclado. Em contraste, este anúncio não tem diálogo. este DoPayroll programa lê caracteres a partir de um disco rígido e não solicita ou interagir com ninguém.
Este código não é executado, a menos que você tem alguns dados de funcionários sentados em um arquivo. A listagem diz que este arquivo é EmployeeInfo.txt. Portanto, antes de executar o código, uma pequena EmployeeInfo.txt arquivo precisa ser criado. O arquivo é mostrado aqui.
Consulte esta figura para a saída resultante.
Para manter a listagem simples, quando você digitar os caracteres na figura, você terminar digitando 10000.00 e pressionando Enter. (Veja novamente a figura e observe como o cursor está no início de uma nova linha da marca.) Se você esquecer de terminar pressionando Enter, em seguida, o código irá falhar ao tentar executá-lo.
separadores de agrupamento variam de um país para outro. O ficheiro mostrado na Figura 8-3 funciona num computador configurado nos Estados Unidos, onde 5000.00 significa "cinco mil." Mas o arquivo não funciona em um computador que está configurado em um "país vírgula" - um país onde 5000,00 significa "cinco mil."
Se você vive em um país vírgula, e você usar o arquivo exatamente como ele é mostrado, você provavelmente obterá uma mensagem de erro (um InputMismatchException) Quando você tentar executar o exemplo desta seção. Se assim for, alterar o número ascende no seu arquivo para coincidir com formato de número do seu país. Quando você fizer isso, você deve estar bem.