当前位置: 首页 > 面试题库 >

如何在Java 7中重命名(不移动)文件?

澹台聪
2023-03-14
问题内容

我对JDK7中的所有这些新文件I / O类感到困惑。

假设我有一个,Path并且想重命名它代表的文件。再次输入a时,如何指定新名称Path

Path p = /* path to /home/me/file123 */;
Path name = p.getName(); /* gives me file123 */
name.moveTo(/* what now? */); /* how to rename file123 to file456? */

注意:为什么我需要 JDK7 ?处理 符号链接

问题是:我必须对名称和位置在运行时已知的文件进行处理。因此,我需要的是一种 安全的 方法(没有特殊的副作用)来创建一些旧名称路径的新名称路径。

Path newName(Path oldName, String newNameString){
    /* magic */ 
}

问题答案:

您有一个路径字符串,并且需要创建一个Path实例。您可以使用getPath方法执行此操作或解决。这是一种方法:

Path dir = oldFile.getParent();        
Path fn = oldFile.getFileSystem().getPath(newNameString);
Path target = (dir == null) ? fn : dir.resolve(fn);        
oldFile.moveTo(target);

请注意,它会检查parent是否为null(看来您的解决方案不这样做)。



 类似资料:
  • 问题内容: 如此处所述,可以更改项目名称。但是,它仅更改项目名称,而不会更改文件夹结构。 例如,如果您的项目名为sample1并且位于〜/ user1 / development / IdeaProjects / sample1,则将项目名称更改为sample2时,文件夹位置将不会更改为〜/ user1 / development / IdeaProjects / sample2。 问题答案: 似

  • mv(move)命令可以移动或重命名目录与文件。 mv 目标 终点 练习:移动文件 把之前创建的 README.md 放到 awesome-project 目录的下面,可以执行: mv README.md awesome-project/ 练习:重命名目录 再重命名一下 awesome-project 这个目录: mv awesome-project ninghao-project

  • 这应该是一个非常简单的问题:) 我有一个很好的项目。现在我想重命名它并更改ProjectFolder的路径。首先,它看起来很简单:右键点击->“移动”和“重构/重命名”。 我想我要做的不仅仅是复制项目。不知怎么的,我必须指定“新”项目,是吗?

  • mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下: [root@localhost ~]# mv 【选项】 源文件 目标文件 选项: -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖; -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项); -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户

  • 问题内容: 我的应用崩溃了,因为我没有正确处理迁移。 我正在寻找一种解决方案来迁移表中1列的名称。 在我的项目中,我有一个名为“ content ”的房间表,其 双人间 属性为“ archivedCount ”。在该应用程序的最新版本中,仍将属性 archivedCount 属性重命名为 dismissCount ,仍为 Double 类型 。 原始内容模型 新内容模型 尝试的解决方案 阅读了Go

  • 问题内容: 我的硬盘中有一个现有文件,我想重命名该文件。 问题答案: 像这样: