问题描述
我需要将 PHP 代码转换为 Java。其中一个函数将 zip 文件转换为 URL 编码格式。我使用相同的压缩文件夹(其中包含一个 .csv 文件)。
$file = "batch.zip";
echo file_get_contents($file);
Response: PK �mSRbatch/PKjRR_I��75*batch/batch_2020-08-31-14-43-09 - copy.csv�M-.NLO�)��I+���I�O��K��JIK)N+N�1107��4�446�1�����5��PK �mSR$batch/ V*u��V*u��C~1p��PKjRR_I��75*$ $batch/batch_2020-08-31-14-43-09 - copy.csv S{�-���"�t�����s��PK��
但是当我尝试在 Java 中打开同一个文件(我使用的是 Maven)时,我得到了这个响应
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream file = classloader.getResourceAsstream("batch.zip");
StringBuilder textBuilder = new StringBuilder();
try (Reader reader = new BufferedReader(new InputStreamReader
(file,Charset.forName(StandardCharsets.UTF_8.name())))) {
int c = 0;
while ((c = reader.read()) != -1) {
textBuilder.append((char) c);
}
}
System.out.println("textBuilder = " + textBuilder.toString());
Response: textBuilder = PK
�mSR batch/PK jRR_I��7 5 * batch/batch_2020-08-31-14-43-09 - copy.csv�M-.NLO�)��I+���I�O��K��JIK)N+N�1107��4�446�1�����5�� PK
�mSR $ batch/
V*u��V*u��C~1p��PK jRR_I��7 5 * $ $ batch/batch_2020-08-31-14-43-09 - copy.csv
S{�-���"�t�����s��PK � �
除了用 Java 读取的文件中存在许多空间之外,我还丢失了一些字符。有什么帮助吗?我的最终目标是读取一个 zip 文件,将其编码为 base 64 并在最后进行 url 编码
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)