Como resolver problemas de Java com arquivos de disco

Se a máquina virtual Java não consegue encontrar o arquivo que você pediu para encontrar, você vê uma mensagem de erro. Esta mensagem de erro pode ser muito frustrante. Em muitos casos, você sabe muito bem que há uma rawData.txt arquivo no seu disco rígido. O computador estúpido simplesmente não consegue encontrá-lo.

image0.jpg

Não há nenhuma maneira rápida, infalível para corrigir esse problema. Mas você deve sempre verificar as seguintes coisas em primeiro lugar:

  • Verifique novamente para um arquivo chamadorawData.txt.

    Abra o Meu computador (no Windows) ou Finder (no Mac) e picar em torno de um arquivo com esse nome.

    Os nomes dos arquivos exibidos no meu computador e Finder pode ser enganosa. Você pode ver o nome dados não tratados, mesmo que o nome real do arquivo é rawData.txt.

  • Verifique a ortografia do nome do arquivo.

    Certifique-se de que o nome em seu programa é exatamente o mesmo que o nome do arquivo no seu disco rígido. Apenas uma letra mal colocada pode manter o computador de encontrar um arquivo.

  • Se você usar o Linux (ou um sabor de UNIX diferente de Mac OS X), verifique a capitalização do nome do arquivo.

    No Linux, e em muitas versões do UNIX, a diferença entre maiúsculas e minúsculas podem confundir o computador.

  • Verifique se o arquivo está no diretório correto.

    Claro, você tem um arquivo chamado rawData.txt. Mas não espere que o seu programa Java para olhar em cada pasta em seu disco rígido para localizar o arquivo. Como você sabe qual pasta deve abrigar arquivos como rawData.txt?

    Eis como funciona: Cada projeto Eclipse tem sua própria pasta no disco rígido do seu computador. Você vê a 13-02 pasta do projeto e sua src subpasta acima. Mas abaixo, o Windows Explorer mostra a 13-02 pasta, sua sub-pasta src, e suas outras subpastas nomeado .configurações e caixa. (Usuários de Mac podem ver os mesmos subpastas em uma janela do Finder.)

    o src, caixa e .configurações pastas contêm arquivos de seus próprios. o rawData.txt e cookedData.txt arquivos estão imediatamente dentro da pasta 13-02 projeto. Em outras palavras, o rawData.txt e cookedData.txt arquivos viver na raiz da pasta de 13-02 projeto.

    Quando você executar este exemplo, o rawData.txt arquivo deve estar na raiz da pasta de 13-02 projecto no seu disco rígido.

    Em geral, os locais de arquivo pode ser complicado, especialmente se você mudar de Eclipse para um IDE desconhecido. A regra geral (sobre a colocação de arquivos de entrada e saída imediatamente dentro de um diretório do projeto) não se aplicam a outros ambientes de programação.

    Então aqui está um truque que você pode usar: Qualquer que seja IDE você usa (ou mesmo se você criar programas Java sem um IDE), executar esta versão simplificada do código:

    importação java.io.File-import java.io.FileNotFoundException-import java.io.PrintStream classe JustWrite {void main (args String []) public static joga FileNotFoundException {PrintStream diskWriter = new PrintStream ( "cookedData.txt") - diskWriter.println (99,75) -diskWriter.close () -}}

    Este programa não tem necessidade de um fedorento rawData.txt Arquivo. Se você executar esse código e obter nenhuma mensagem de erro, procure em seu disco rígido para a saída deste programa (o cookedData.txt Arquivo). Anote o nome da pasta que contém o cookedData.txt Arquivo. Quando você coloca rawData.txt nesta mesma pasta, qualquer problema que você teve de executar o código Listagem 13-2 deve ir embora.

    image1.jpg
  • Verifica a rawData.txt o conteúdo do arquivo.

    Não custa nada para espiar dentro do rawData.txt arquivo e certifique-se de que o arquivo contém os números 19.95 5. E se rawData.txt não aparecer na área do editor do Eclipse, encontrar o projeto no Package Explorer. Duplo clique sobre o projeto rawData.txt ramo faz esse arquivo aparecerá na área editor do Eclipse.

    Por padrão, Java de Scanner classe procura por espaços em branco entre os valores de entrada. Portanto, este exemplo é rawData.txt arquivo deve conter 19.95 5, não 19,955 e não 19.95,5.

    o Scanner classe olha para qualquer tipo de espaço em branco entre os valores. Esses espaços em branco pode incluir espaços em branco, tabulações e novas linhas. Assim, por exemplo, a rawData.txt arquivo pode conter 19.95 5 (Com vários espaços em branco entre 19.95 e 5), Ou pode ter 19.95 e 5 em duas linhas separadas.

menu