В настоящее время я работаю над приложением, в котором пользователям предоставляется возможность просматривать и загружать файл 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.