getName()返回文件的所有路径,而不仅仅是Java中的文件名

getName()返回文件的所有路径,而不仅仅是Java中的文件名,java,Java,我在获取文件名时遇到一些问题。它总是返回文件的所有路径,而不仅仅是文件名 List<FileItem> fileItemsList = uploader.parseRequest(request); Iterator<FileItem> fileItemsIterator = fileItemsList.iterator(); while(fileItemsIterator.hasNext()){ FileItem fileItem = fileI

我在获取文件名时遇到一些问题。它总是返回文件的所有路径,而不仅仅是文件名

List<FileItem> fileItemsList = uploader.parseRequest(request);
Iterator<FileItem> fileItemsIterator = fileItemsList.iterator();
while(fileItemsIterator.hasNext()){
            FileItem fileItem = fileItemsIterator.next();
            System.out.println("FileName="+fileItem.getName());
List fileItemsList=uploader.parseRequest(请求);
迭代器fileItemsIterator=fileItemsList.Iterator();
while(fileItemsIterator.hasNext()){
FileItem=fileItemsIterator.next();
System.out.println(“FileName=“+fileItem.getName());
输出为
FileName=C:\Users\Administrator\Downloads\demoUpload2.war
但是我只需要
demoUpload2.war

为什么FileItem.getName()返回整个路径,而不仅仅是 文件名?Internet Explorer提供上传文件的完整路径 而不仅仅是基本文件名 确切地说,客户端(浏览器)提供了什么,您可能需要 在应用程序中删除此路径信息。您可以这样做 使用Commons IO中的以下方法(您已经有了, 因为它被FileUpload使用)。 字符串文件名=item.getName(); 如果(文件名!=null){ filename=FilenameUtils.getName(filename); }

参考: 您可以这样做:

String fileName = item.getName();
if (fileName != null) {
    filename = FilenameUtils.getName(filename);
}

什么是
FileItem
?看起来不是
java.io.File
?可以将其放入一个新文件并从中获取名称。
new File(FileItem.getName()).getName();