2015-03-28 7 views
-1

1. что делает new file в new File("scores.dat") линии означают? Он создаст новый файл?Новый "Файл" в Java

2. Когда я запускаю этот кусок кода, я получаю это как выход: «java.io.FileNotFoundException: scores.dat (Система не может найти указанный файл)» никого ли знаете, в чем проблема?

3. Существует не раздел "finally" в этом коде; Помещение «finally» является необязательным в exceptions?

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 

public class ReadAndPrintScores 
{ 
    public static void main(String[] args) 
    { 
     try 
     { 
      Scanner s = new Scanner(new File("scores.dat")); 
      while(s.hasNextInt()) 
      { 
       System.out.println(s.nextInt()); 
      } 
     } 
     catch(IOException e) 
     { 
      System.out.println(e); 
     } 
    } 
} 
+3

«Будет ли создан новый файл?» Нет, он создаст новый объект File. «Кто-нибудь знает, в чем проблема?» Да, система не может найти указанный файл, как говорится. И да, 'finally' является необязательным в блоках' try'/'catch' ... –

+0

Кажется, вам нужно понять основы ввода-вывода файлов. Вы определенно многому научились и сами ответили бы на этот вопрос, если будете делать [этот учебник] (https://docs.oracle.com/javase/tutorial/essential/io/). – mins

+0

Если вы используете Java 7+, попробуйте вместо этого использовать java.nio.file. – fge

ответ

0
  1. new File() является конструктор File класса. Таким образом будет создан новый экземпляр File.
  2. scores.dat должен быть файлом, который существует в той же директории вашего кода.
  3. Да finally необязателен

Проверить Java Doc для получения дополнительной информации о File классе.

1

1.new File("scores.dat") делает не создать файл. Он просто создаст что-то вроде дескриптора этого файла (независимо от того, существует он или нет). Вы можете использовать этот объект File, чтобы узнать, существует ли файл, создать новый файл, если он еще не существует, и так далее. Вы можете просмотреть полную документацию класса File в официальном номере JavaDocs.

2. Поскольку вы не создаете файл, просто создавая File объект для него, файл еще не существует, и поэтому нет ничего, чтобы читать.

3.finally структура не является обязательным. Рекомендуется использовать его, чтобы убедиться, что вы больше не закрываете нужные вам ресурсы, потому что блоки finally всегда выполняются, если введен их блок try. Узнайте больше о ключе finallyhere.

Смежные вопросы