我试图在Linux系统上读取名称中包含特殊字符的文件。我对操作系统没有任何控制权。

我试过使用IO和NIO。我不断地

java.nio.file.invalidPathException:格式错误的输入或输入包含

不可映射字符:/mnt/au?Enr?ckspiegel,elektrisch verstellbar,1,edition-meta.xml

我不能在服务器上改变太多,我能在我的应用程序中做些什么来解决这个问题吗?

System.out.println("Default Charset=" + Charset.defaultCharset()); // US_ASCII

这给了我一个特殊字符有问号的字符串/mnt/au?sen.xml“

Files.list(Paths.get(path)).forEach(file -> {

log.info("file to string: " + file.toString());

String correctedFileName = "";

correctedFileName = new String(file.getFileName().toString().getBytes(StandardCharsets.ISO_8859_1),

StandardCharsets.UTF_8);

log.info("corrected name: " + correctedFileName);

try {

ZipInputStream zipInputStream = new ZipInputStream(Files.newInputStream(Paths.get(correctedFileName)));

ZipEntry entry = zipInputStream.getNextEntry();

while (entry != null) {

Path filePath = Paths.get(unzipLocation, entry.getName());

if (!entry.isDirectory()) {

unzipFiles(zipInputStream, filePath);

} else {

Files.createDirectories(filePath);

}

zipInputStream.closeEntry();

entry = zipInputStream.getNextEntry();

}

} catch (IOException e) {

e.printStackTrace();

}

});

java文件名特殊字符_Java 8:用名字读取特殊字符的文件相关推荐

  1. java获得当前路径_JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址...

    在写java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext().getRealP ...

  2. java 文件名 类名_java文件名为什么要与类名相同

    因为: Java是被解释执行的.它在运行时并不是将所有的class文件全都放到内存中.而是在遇到import的时候才去相应的文件目录找相应的class文件. 对于一个public类,它是可以被项目中任 ...

  3. java取文本首位_java – 从文本文件中读取的第一个字符:[复制]

    参见英文答案 > Java read file got a leading BOM [  ]                                    6个 如果我写这段代码, ...

  4. java提取姓名_java获取类型名字的不同方法

    java的Class>类型提供了多种方法获取类型的名字.这些方法的返回值区别如下: 测试代码: 1 importjava.math.BigDecimal;2 3 public classTest ...

  5. java 文件名排序_Java笔记:像win里一样文件名排序

    *********************************************** *月球正一日一日远离TA的亿年CP,* *而遥远^遥远的仙女却向往璀璨的银河!"* ***** ...

  6. java 文件名查找_java 查找目录下指定文件名的文件

    这个Java类的作用是查找目录文件中特定文件名的文件,并不是查找文件内容.具体代码如下: package net.xsoftlab.baike; import java.io.File; import ...

  7. java下载网页内容_java下载网页并读取内容

    下载回来怎么也得读取内容: package com.core.crawl; import java.io.IOException; import com.util.file.Files; public ...

  8. java dom4j 查找_java dom4j根据条件读取查找xml节点的方法

    1.假如有下面的books.xml要用java dom4j解析查找.<?xml  version="1.0" encoding="UTF-8"?> ...

  9. java文件名大小_java 比较指定文件夹内.txt文件名的大小

    我写了一个程序:每过一定时间向指定文件夹内写一个按时间命名的.txt文件现在想实现最新的txt文件和最原先的txt文件内容比对但是不知道如何获得这两个文家的内容.packagetest;import. ...

最新文章

  1. 算法每日练习之判断完数
  2. 我的360破解考题答案
  3. x265与SVT-HEVC现已合二为一
  4. System.Type类
  5. Web应用安全————Shiro 解决会话固定漏洞
  6. double free or corruption 错误解决办法
  7. CENTOS6 X64 LAMP+GD SHELL脚本
  8. 提高编程技能最有效的方法
  9. 海康visionmaster-软加密
  10. php怎么获取图片信息,PHP 获取图片信息exif
  11. css display:flex 属性
  12. python之禅怎么读_混为一谈的读音
  13. 国标28181:实时视频播放
  14. 只有VOB 文件,怎样使用IfoEdit生成烧制DVD所需的IFO、BUP文件!
  15. 中国移动mda移动桌面助手
  16. 小麦苗健康检查脚本说明(Oracle巡检脚本)
  17. 企业提高客户保持率基本方法
  18. Kotlin高仿微信-项目实践58篇
  19. 微信小程序Uncaught (in promise) undefined解决方案
  20. 小白终是踏上了这条不归路----小文的mysql学习笔记(17)----标识列(自增长列)

热门文章

  1. Python数据格式:%s字符串,%d整型,%f浮点型
  2. 思想实验(逻辑思维)解题
  3. 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
  4. 关于IOS开发知识的总结
  5. R学习_multitaper包解析1:子函数centre,dpss
  6. CentOS下的rm命令改造成移动文件至回收站
  7. 【Leetcode】那些年四数之和下的评论
  8. [云炬创业基础笔记] 第四章测试8
  9. 云炬Android开发笔记 9主界面-通用底部导航设计与一键式封装
  10. 威联通服务器显示磁盘为挂载,如何在 QNAP NAS 上使用虚拟磁盘?