В настоящее время я работаю над приложением, в котором пользователям предоставляется возможность просматривать и загружать файл Excel, я сильно застрял, чтобы получить абсолютный путь к просматриваемому файлу. В качестве местоположения может быть что угодно (Windows/Linux).
import org.apache.myfaces.custom.fileupload.UploadedFile;
-----
-----
private UploadedFile inpFile;
-----
getters and setters
public UploadedFile getInpFile() {
return inpFile;
}
@Override
public void setInpFile(final UploadedFile inpFile) {
this.inpFile = inpFile;
}
мы используем jsf 2.0 для разработки пользовательского интерфейса и библиотеку Tomahawk для кнопки обзора.
Пример кода для кнопки обзора
t:inputFileUpload id="file" value="#{sampleInterface.inpFile}"
valueChangeListener="#{sampleInterface.inpFile}" />
Пример кода для кнопки загрузки
<t:commandButton action="#{sampleInterface.readExcelFile}" id="upload" value="upload"></t:commandButton>
Здесь логика
Кнопка «Обзор» -> пользователь выберет файл, просмотрев кнопку «Загрузить» -> при нажатии кнопки «Загрузить», он вызовет метод readExcelFile в SampleInterface.
Файл реализации SampleInterface
public void readExcelFile() throws IOException {
System.out.println("File name: " + inpFile.getName());
String prefix = FilenameUtils.getBaseName(inpFile.getName());
String suffix = FilenameUtils.getExtension(inpFile.getName());
...rest of the code
......
}
Имя файла: abc.xls
префикс : abc
суффикс: xls
Пожалуйста, помогите мне получить полный путь (как в c:.....) просматриваемого файла, затем этот абсолютный путь будет передан классу excelapachepoi, где он будет проанализирован, а содержимое будет отображаться/сохраняться в ArrayList.