2015-12-02 3 views
1

Я пытаюсь загрузить текстовый файл с помощью File Chooser. Затем мне нужно использовать сканер в файле, потому что я токенизирую строки. Прежде чем я жестко закодировал имена файлов с файлами, находящимися в моем файле проекта, но теперь я хочу получить нужные файлы из любого места.Загрузка текстового файла с помощью File Chooser, а затем с помощью сканера JavaFX

Мой текущий код

public void LoadCustomer() throws IOException 
{ 
    Stage stages = new Stage(); 
    FileChooser fileChooser = new FileChooser(); 
    fileChooser.setTitle("Open Resource File"); 
    fileChooser.showOpenDialog(stages); 
    File CustomerList; 
    CustomerList = new File(fileChooser.getInitialDirectory().getAbsolutePath()); 
    String line; 
    String tokens[]; 
    int iTemp; 
    String strTemp; 
    Double dTemp; 

    int i20DTemp; 
    Customer cTemp; 
    try { 
     Scanner inputCustomer = new Scanner(CustomerList); 
     while (inputCustomer.hasNextLine()) 

Я думаю, что моя проблема в том, где некоторые вокруг CustomerList = new File области с Thats были мой код аварии.

ответ

0

Файл, который выбирает пользователь, возвращается fileChooser.showOpenDialog. getInitialDirectory просто возвращает каталог, который первоначально показывает FileChooser. Если значение не было присвоено, возвращается null, которое вызывает исключение, поскольку вы пытаетесь вызвать метод этого объекта.

File CustomerList = fileChooser.showOpenDialog(stages); 
if (CustomerList == null) { 
    // user canceled dialog 
} else { 
    // file was selected 
} 

Кстати: Вы можете также передать null методу showOpenDialog. Создание нового Stage для этой цели не требуется (и я не рекомендую это делать, даже если позже вы используете Stage).

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

  • Нет связанных вопросов^_^