java 文件名中的特殊字符

2023-12-11

我正在尝试编写一个文件名中包含特殊字符的文件,例如“tééé ê.mp3”,但文件名始终保留为“?”相反,字符“é”,我尝试了几种方法,但没有找到解决方案:

String musicName = new String("tééé ê.mp3".getBytes(), "UTF-8");
OutputStreamWriter bw = new OutputStreamWriter(new FileOutputStream(FILE_PATH+"musics/"+musicName), "UTF-8");
bw.write(data);
bw.close();

我也尝试过这个方法。

OutputStreamWriter bw = new OutputStreamWriter(new FileOutputStream(URLDecoder.decode(FILE_PATH+"musics/tééé ê.mp3", "UTF-8")), "UTF-8");
bw.write(data);
bw.close();

尝试用Files:

final Path target = Paths.get("tééé ê.mp3");

try (
    final OutputStream out = Files.newOutputStream(target, StandardOpenOption.CREATE_NEW);
) {
    // write
}

现在,如果这是您的文件系统不支持此类文件名的问题,您将得到一个InvalidPathException;不像File,新的 API 拒绝创建最终可能无法读取的文件名。

如果确实无法开辟道路,那么,你就得想办法逃走,逃走一些;也许为某种数据库或其他东西写一个替代名称。

注意InvalidPathException is 未经检查的;因此,您必须显式捕获此异常。另请注意,如果 JVM 使用的当前字符编码不适合生成文件名,则可能会出现此异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 文件名中的特殊字符 的相关文章

  • 不支持的字段:将瞬间格式化为日期 ISO 时的年份[重复]

    这个问题在这里已经有答案了 我正在尝试将 Instant 格式化为 ldap 日期 ISO8601 但在 f format Instant now 处失败 String input 20161012235959 0Z DateTimeFor
  • 如何在ArrayList中的特定位置插入对象

    假设我有一个大小为 n 的对象的 ArrayList 现在我想在特定位置插入另一个对象 假设在索引位置 k 大于 0 且小于 n 并且我希望索引位置 k 处及其之后的其他对象向前移动一个索引位置 那么有没有什么方法可以直接在Java中做到这
  • 类型已知,但方法指的是缺失类型

    我对 java 和 Eclipse 不太有经验 但遇到以下问题 我正在写类似的东西 Point3D myPoint myClass myMethod arg 我收到错误 方法 myMethod myType arg 引用缺失的类型 Poin
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的
  • 如何在Netbeans中设置JList的ListModel?

    我在 Netbeans IDE 的帮助下设计了一个 Swing GUI 该 GUI 包含一个 JList 默认情况下 它使用 QAbstractListModel 将其作为 JList 构造函数中的参数传递以创建该 JList 我想在 Ne
  • RxJava android mvp 单元测试 NullPointerException

    我是 mvp 单元测试的新手 我想对演示者进行一个非常基本的测试 它负责登录 我只想断言 view onLoginSuccess 这是演示者代码 public LoginPresenter LoginViewContract loginVi
  • 使用 Guava Ordering 对对象列表进行多条件排序

    我有一个类无法实现可比较 但需要根据 2 个字段进行排序 我怎样才能用番石榴实现这一目标 假设班级是 class X String stringValue java util Date dateValue 我有一个清单 List
  • 接口是否像对象一样对待?

    为什么下面的代码可以工作 interface I class A implements I public String toString return in a class B extends A public String toStrin
  • 如何在 spring-data 中强制使用 CrudRepository 进行预加载?

    我有一个实体 其中包含List就是这样lazy默认加载 interface MyEntityRepository extends CrudRepository
  • Hibernate 标准接受 %% 值

    我正在使用下面的 Hibernate 代码来过滤workFlowName crt add Restrictions like workFlowName workFlow MatchMode ANYWHERE crt is the crite
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • Proguard 正在破坏我的清洁度。 Gson 和泛型

    我有一个从持久性加载信息的函数 我只是以一种非常简单的方式告诉它的类型 该类称为SharedPreferencesHelper kt所以它是一个真正的生活问题解决者 fun
  • java.lang.UnsatisfiedLinkError - android studio gradle 中的 NDK?

    文件夹结构 app main java jni Android mk Application mk hello jni c res 在构建 gradle apply plugin com android application androi
  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • 在java中执行匿名pl/sql块并获取结果集

    我想执行匿名 PL SQL 并需要获取结果集对象 我得到了可以通过在 PL SQL 块内使用游标来完成的代码 但 PL SQL 块本身将以文本形式来自数据库 所以我无法编辑该 PL SQL 块 并且它只会返回两个值 其列名始终相同 它将返回
  • 从 InputStream 中删除换行符

    我喜欢从一个文件中删除所有换行符 对于 n 和 r n java io InputStream 在读取文件时 相应的方法如下所示 param target linkplain File return linkplain InputStrea

随机推荐

  • IOS 中的 HTTPS post 请求

    我尝试使用以下代码发出 https post 请求 NSURL url NSURL URLWithString https portkey formspring me login initialize a request from url
  • CopyFileEx 具有多个文件,但只有一个复制对话框

    我已经在网络和 stackoverflow 上搜索过这个 我想将多个文件从多个源复制到多个目标 我还没有为 UnauthorizedAccessExceptions 烦恼 这些文件很可能无论如何都不会被使用 我可以使用 CopyFileEx
  • 如何在 VBA 中从两个范围创建一个范围?

    我有两个范围 每个范围包含一个单元格 例如 A1 和 C3 如何获得包含这两个之间的所有单元格的新范围 A1 C3 我试过这个 Set NewRange Range Range1 Address Range2 Address 另外 如何设置
  • 如何根据最后一个命令的退出代码更改 bash 提示颜色?

    如果之前的退出代码为 0 我想显示绿色笑脸 如果不成功则显示红色笑脸 基本上我想做这个提示 但还包括其他东西 PS1 u h w if 0 then echo e 32m e 37m else echo e 31m e 37m fi 我想将
  • org.hibernate.PersistentObjectException:传递给持久化的分离实体

    我已经成功地用 hibernate 编写了我的第一个主子示例 几天后我又拿了它并升级了一些库 不知道我做了什么 但我再也无法让它运行了 有人可以帮我找出返回以下错误消息的代码有什么问题吗 org hibernate PersistentOb
  • 将负数分配给无符号整数?

    在 C 编程语言中 unsigned int仅用于存储正值 但是 当我运行以下代码时 unsigned int x 12 printf d x 输出仍然是 12 我认为它应该打印出 12 或者我误解了什么 The 12等号右侧设置为有符号整
  • Vega-lite 条形图条形之间的空间

    D3新手 如何调整 vega lite 条形图中条形之间的间距并覆盖默认值 binSpacing 我认为只适用于直方图 请参阅下面的代码 我也想调整文本和字体系列的颜色 但我在文档中找不到它 schema https vega github
  • 如何获取转换后的 Windows 应用商店 UWP 应用程序的故障转储(或任何可用的故障报告)?

    我向 Windows 10 Store 提交了我的nativeWin32 应用程序是转换为 UWP应用程序使用Project Centennial转换器 该应用程序通过了商店认证 可以通过私人链接使用 当我测试它时 在运行我的测试时 应用程
  • 从 Android 内存读取 SQLITE 数据库

    我在 Java 应用程序上创建了一个 sqlite 数据库 并将其推送到我的 android 上 我想读取这个数据库 可能稍后也会写入 到目前为止 我发现的大多数教程都是在 android 中创建数据库 我认为我不需要重写 SQLiteOp
  • Rhinomocks - 嘲笑代表

    public interface IServiceInvoker R InvokeService
  • 如何在 Ruby 中创建用于深度复制/克隆对象的运算符?

    我想通过引入一个新的运算符来实现以下目标 例如 a b b 1 2 p a gt p b gt 1 gt 2 据我了解 我需要修改Object类 但我不知道该怎么做才能得到我想要的东西 require superators class Ob
  • 在 Javascript 中对日/月数组进行排序

    我正在尝试按从最新到最旧的顺序对日期数组进行排序 不幸的是 list sort 默认情况下 仅对第一个数字进行排序 我的数组如下所示 var MyArray 13 Jun 09 Jun 25 Aug 30 Jun 13 Aug 我尝试创建一
  • 如何使我的游戏引擎更快(GDI+、C#)

    我目前正在使用 GDI 用 C 构建 2D 游戏引擎 我确实知道有更好的 GDI 替代品 但我也已经深入到这个项目中 现在无法回头 因此 我目前有一个图形引擎 它可以根据我的相机位置和窗口大小来渲染位图的一部分 这给了我很大的性能提升 伟大
  • db.collectionNames 在 Node.js 中不起作用

    我想检查 Node js 中是否存在集合 我使用 db collectionNames 获取数据库中的名称列表 但什么也没发生 代码 connectDB DBURL then function db console log db conne
  • 检查套接字文件描述符是否可用?

    如果我有一个文件描述符 套接字 fd 如何检查该 fd 是否可用于读 写 在我的情况下 客户端已连接到服务器并且我们知道 fd 但是 服务器会断开套接字 有什么线索可以检查吗 你要fcntl 检查 fd 上的读 写设置 include
  • 如何从数据集中的存储过程返回表名

    我使用一个数据集来存储加载时需要的 15 个表 当我使用存储过程填充所有表时 它会返回所有表 但表的名称并不与数据库中的实际表名称相同 它获取所有表名为Table1 Table2 Table3 的表 我希望它们的名称与表中实际的名称相同 S
  • 当子元素具有背景颜色并且浏览器缩小小于 100% 时,CSS 边框消失

    我有一个带有 1px 边框的元素和一个具有背景颜色的子元素 当我将浏览器的缩放比例缩小到 70 80 时 会导致父元素的边框消失 我注意到 PC 上的 Chrome 和 IE11 中会出现这种情况 但 MacBook Pro 上的 Chro
  • 比较不同大小的数组而不使用任何循环

    问题是这样的 给定两个数组 a b 均为正整数 A special number是一个数字a i i 该值等于索引 如何检查数组是否b包含一个值 该值是special number of a 例如 a 9 9 3 9 b 3 4 5 输出将
  • 如何使用 R 模拟给定分布中大小为 n 的 m 个随机样本?

    我知道如何从标准统计分布 例如指数分布 生成大小为 n 的随机样本 但是 如果我想生成 m 个大小为 n 的随机样本 即 m 个维度为 n 的向量 我该怎么做呢 创建一个n by m矩阵包含m样本尺寸n您可以使用 x lt replicat
  • java 文件名中的特殊字符

    我正在尝试编写一个文件名中包含特殊字符的文件 例如 t mp3 但文件名始终保留为 相反 字符 我尝试了几种方法 但没有找到解决方案 String musicName new String t mp3 getBytes UTF 8 Outp