我正在尝试使用File Chooser加载文本文件。然后我需要在文件上使用扫描程序,因为我正在对字符串进行标记。在我使用项目文件中的文件硬编码文件名之前,现在我希望能够从任何地方获取所需的文件。
我当前的代码
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
区域附近,因为那是我的代码崩溃。
答案 0 :(得分: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
,我也不建议这样做。)