JFileChooser and Reading from Excel File using JAVA
<p>I have a following code</p>

<pre><code>    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.text.html.HTMLDocument.Iterator;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Workbook;

  public class ExcelRead {
       public static String keep = "";

          public static void main(String[] args) throws IOException {

    // File Openner
    JFrame.setDefaultLookAndFeelDecorated(true);
    JDialog.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("JComboBox Test");
    frame.setLayout(new FlowLayout());
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JButton button = new JButton("Select File");

    button.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ae) {
            JFileChooser fileChooser = new JFileChooser();
            int returnValue = fileChooser.showOpenDialog(null);
            if (returnValue == JFileChooser.APPROVE_OPTION) {
                File selectedFile = fileChooser.getSelectedFile();

                keep = selectedFile.getName();
                System.out.println(keep);
            }
        }
    });
    frame.add(button);
    frame.pack();
    frame.setVisible(true);
    // end of the File opener
    // read from excel
    File excel = new File(keep);

    FileInputStream fis = new FileInputStream(excel);
    HSSFWorkbook wb = new HSSFWorkbook(fis);


    String sheetName = "Assignments"; //if my tempsheet start with "sheetname" thats okay

    for (int i = 0; i &lt; wb.getNumberOfSheets() - 1; i++) {
        HSSFSheet tmpSheet = wb.getSheetAt(i);
        if (tmpSheet.getSheetName().startsWith(sheetName)) {
            //satırları ve sutunları gez oku

        } else {
                wb.removeSheetAt(i);
            }

        }


    }// end of the main




private static String cellToString(HSSFCell cell) {
    int type;
    Object result;
    type = cell.getCellType();
    switch (type) {
    case 0:
        result = cell.getNumericCellValue();
        break;
    case 1:
        result = cell.getStringCellValue();
        break;
    default:
        throw new RuntimeException("there are no support for this type of cell");
    }

    return result.toString();
}
       }
</code></pre>

<p>The problem is,I got  exception when I run this code before choosing a file. I want to choose a file with FileChooser then I return that file name for reading from excel file.
Output:</p>

<pre><code> Exception in thread "main" java.io.FileNotFoundException: 
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.&lt;init&gt;(Unknown Source)
    at ExcelRead.main(ExcelRead.java:54)
</code></pre>