gpt4 book ai didi

java - 文件名的路径操作错误修复

转载 作者:行者123 更新时间:2023-12-01 11:34:56 24 4
gpt4 key购买 nike

我有一段代码,我必须读取一个文件以获取其可能的内容。

我遇到了同样的路径操作错误。

PFB代码:

while ((ze = zis.getNextEntry()) != null) {
String fileName = ze.getName();
String esapiFileName = ESAPI.encoder().canonicalize(fileName);
boolean esapiValidFileName = ESAPI.validator().isValidFileName("upload", esapiFileName, false);
String _completefileNamePath = null;
if (esapiValidFileName) {
_completefileNamePath = _destination + esapiFileName;
// Below line having Path Manipulation error
FileOutputStream fos = new FileOutputStream(new File(_completefileNamePath).getCanonicalFile());
// Path Manipulation error ends
while ((size = zis.read(buffer, 0, buffer.length)) != -1) {
fos.write(buffer, 0, size);
}// while
fos.flush();
fos.close();
zis.closeEntry();
}
}

最佳答案

你的路径是相对路径还是绝对路径?

顺便说一句,在打开 FileOutputStream 之前,您实际上不需要获取规范文件:

FileOutputStream fos = new FileOutputStream(_completefileNamePath);

FileOutputStream fos = new FileOutputStream(new File(_completefileNamePath));

import java.nio.file.Files;
import java.nio.file.Paths;

while ((ze = zis.getNextEntry()) != null) {
String fileName = ze.getName();
String esapiFileName = ESAPI.encoder().canonicalize(fileName);
boolean esapiValidFileName = ESAPI.validator().isValidFileName("upload", esapiFileName, false);
String _completefileNamePath = null;
if (esapiValidFileName) {
_completefileNamePath = _destination + esapiFileName;
// optional: Files.createDirectories(Paths.get(_completefileNamePath).getParent());
Files.copy(zis, Paths.get(_completefileNamePath));
zis.closeEntry();
}
}

关于java - 文件名的路径操作错误修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30099996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com