Como escrever um programa orientado para o disco em Java

Java lhe dá a capacidade de escrever um programa orientado para o disco. Na verdade, às vezes é mais fácil de usar alguns dos seu código pré-existente e adicionar um pouco de edição simples. Veja como:

  • Adicione as seguintes declarações de importação para o início do seu código:

    importação java.io.File-import java.io.FileNotFoundException-import java.io.PrintStream-
  • Adicione o seguinte cláusula throws ao cabeçalho do método:

    lança FileNotFoundException
  • Na chamada para new Scanner, substituir System.in com uma chamada para novo arquivo do seguinte modo:

    aVariableName Scanner = new Scanner (new File ( "inputfilename"))
  • Crie um PrintStream para escrever a saída para um arquivo em disco:

    PrintStream anotherVariableName = new PrintStream ( "OutputFileName") -
  • Use o Scanner nome da variável em chamadas para nextInt,nextLine, e assim por diante.

    Por exemplo, você mudaria

    UnitPrice = keyboard.nextDouble () - Quantidade = keyboard.nextInt () -

    para

    UnitPrice = diskScanner.nextDouble () - Quantidade = diskScanner.nextInt () -
  • Use o PrintStream nome da variável em chamadas para impressão e println.

    Por exemplo, você mudaria

    System.out.println (total) -

    para

    diskWriter.println (total) -
  • Use o Scanner nome da variável na chamada para fechar.

    Por exemplo, você mudaria

    keyboard.close () -

    para

    diskScanner.close () -
  • Use o PrintStream nome da variável em uma chamada para fechar.

    Por exemplo, você poderia adicionar

    diskWriter.close () -

    no final de a Principal método.

Leitura de um arquivo

Todos Scanner métodos podem ler a partir de arquivos de disco existentes. Por exemplo, para ler uma palavra a partir de um arquivo chamado meu discurso, usar o código do seguinte tipo:

Scanner diskScanner = new Scanner (new File ( "mySpeech")) - corda oneword = diskScanner.next () -

Para ler um personagem de um arquivo chamado letters.dat e, em seguida, exibir o personagem na tela, você pode fazer algo como isto:

Scanner diskScanner = new Scanner (new File ( "letters.dat")) - System.out.println (diskScanner.findWithinHorizon (, 0) .charAt (0) ".") -

O arquivo que você precisa para ler é nomeado meu discurso, não mySpeech.txt ou mySpeech.doc. Qualquer coisa que você colocar após o ponto é chamado de extensão de arquivo, e por um arquivo completo de números e outros dados, a extensão do arquivo é opcional.

Claro, um programa Java deve ser chamado alguma coisa.Java, mas um ficheiro de dados pode ser chamado mySpeech.txt, mySpeech.reallymine.allmine, ou apenas meu discurso. Enquanto o nome em seu novo arquivo chamada é o mesmo que o nome do arquivo no disco rígido do seu computador, tudo está bem.

Escrevendo para um arquivo

o impressão e println métodos podem gravar arquivos de disco. aqui estão alguns exemplos:

  • Durante uma execução do código na Listagem 13-2, a variável total armazena o número 99,75. Para depositar 99,75 para o cookedData.txt arquivo, você executar

    diskWriter.println (total) -

    este println chamada grava em um arquivo de disco por causa da seguinte linha na Listagem 13-2:

    PrintStream diskWriter = new PrintStream ( "cookedData.txt") -
  • Em outra versão do programa, você pode decidir não usar um total variável. Para escrever 99,75 à cookedData.txt arquivo, você pode chamar

    diskWriter.println (UnitPrice * quantidade) -
  • Mostrar Está bem na tela, você pode fazer a chamada seguinte método:

    System.out.print ( "OK") -

    Escrever Está bem para um arquivo chamado approval.txt, você pode usar o seguinte código:

    PrintStream diskWriter = new PrintStream ( "approval.txt") - diskWriter.print ( "OK") -
  • Você pode decidir a escrever Está bem como dois caracteres separados. Para escrever na tela, você pode fazer as seguintes chamadas:

    System.out.print ( 'O') - System.out.print ( 'K') -

    E para escrever Está bem ao approval.txt arquivo, você pode usar o seguinte código:

    PrintStream diskWriter = new PrintStream ( "approval.txt") - diskWriter.print ( 'O') - diskWriter.print ( 'K') -
  • Como suas contrapartes para System.out, o disco-writing impressão e println métodos diferem nos seus comportamentos de fim-de-linha. Por exemplo, você deseja exibir o seguinte texto na tela:

    Hankees Socks7 3

    Para fazer isso, você pode fazer as seguintes chamadas de método:

    System.out.print ( "Hankees") -System.out.println ( "meias") - System.out.print (7) -System.out.print ( "") -System.out.println (3) -

    Para plantar o mesmo texto em um arquivo chamado scores.dat, você pode usar o seguinte código:

PrintStream diskWriter = new PrintStream ( "scores.dat") - diskWriter.print ( "Hankees") -diskWriter.println ( "meias") - diskWriter.print (7) -diskWriter.print ( "") -diskWriter.println ( 3) -

menu