java-重命名一个已存在的文件

问题描述

重命名一个已存在的文件

有两个文件:

File src = new File("loc/xyz.mp3")File dst=new File("loc/xyz1.mp3")

现在我想将xyz.mp3重命名为dst,同时删除src文件,怎么才能实现?我试过的代码:

src.delete();
dst.renameTo(src);

在应用的背景中异步运行,第一次执行时成功了,但是第二次就崩溃了。

请帮忙解决一下,谢谢。

解决方案

new File("loc/xyz.mp3").renameTo(new File("loc/xyz1.mp3"));

解决方案二:

根据文档说明:

Renames the file denoted by this abstract pathname.
Many aspects of the behavior of this method are inherently platform-dependent: The rename operation might not be able to move a file from one filesystem to another, it might not be atomic, and it might not succeed if a file with the destination abstract pathname already exists. The return value should always be checked to make sure that the rename operation was successful.

在AsyncTask中,不能保证srcdst。检测一下src.exists() && dst.exists()可能帮助你避免错误。 使用deleteOnExit也可以。

解决方案三:

new File("loc/xyz1.mp3").renameTo(new File("loc/xyz.mp3"));
时间: 2024-11-08 23:21:31

java-重命名一个已存在的文件的相关文章

Java文件批量重命名批量提取特定类型文件_java

原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能. 最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能: 功能一:去除文

php 删除,重命名文件名过长的文件失败

问题描述 php 删除,重命名文件名过长的文件失败 大神们,php重命名的时候发现文件名太长导致文件修改失败,有什么方法可以解决的么? 解决方案 最近我也遇到这么个情况,才发现,这原来是个普遍现象,不知道微软对此作何解释.网上说的很多,基本上分为两种方法:1:电脑管家的文件粉碎插件,但是64位系统貌似不支持这项功能.2:敲命令法,不过嫌麻烦,没试过他们的方法.至于那些什么重命名的,基本属于屁话范畴......刚刚突发奇想,成功了,特来分享.首先保证过长名字文件所在目录没有其他相同文件名的文件(真

shell备份,重命名,删除目录下面的文件

因为经常会用到shell脚本,所以经常会写一些,但是我从来没有系统的学习过shell脚本,遇到问题,就去看手册,或者google一下,到了一定的程度才发现自己的基础真的好差.下面在系统学习shell时,顺便写了点有用的小脚本. 1,备份目录下面文件 Java代码   #!/bin/bash   E_BADARGS=65      case $# in  //$#表示转入参数的个数,sh bak.sh ./ .sh 有二个参数./和.sh   0)                     // 参

重命名、 c#-C#操作文件夹重命名问题

问题描述 C#操作文件夹重命名问题 类似于windows那样 ,鼠标慢慢双击文件夹目录后就会让重命名,请问C#咋实现了,或者有没有更好了办法实现C#代码得重命名?请大家指点 解决方案 visual studio里面,你选择类,右键,会弹出 重命名的菜单,你可以试试的.也可以用你说的方法,不连续的双击,就可以重命名 解决方案二: visual studio里面,你选择类,右键,会弹出 重命名的菜单,你可以试试的.也可以用你说的方法,不连续的双击,就可以重命名 解决方案三: visual studi

Java实现文件批量重命名具体实例_java

Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应的文件进行重命名.此外,还可以在重命名模板中添加特殊符号,程序会将这些特殊符号替换成重命名后的文件编号. 思路分析: 1.先看视图层,需要一些JLabel控件分别显示指示用户的信息,三个JTextField控件分别显示所选路径.输入文件名模板即输入扩展名,两个JButton控件分别用来浏览文件夹和开

CentOS下如何删除或重命名乱码文件?

CentOS下如何删除或重命名乱码文件?   当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 但是每个文件都有一个i节点号,可以通过i节点号来管理文件.首先,要取得文件的i节点号.这个可以通过ls命令的-i选项获得得. 一.删除 第一步:获取文件的id号 ? 1 ls -li 第二步:执行删除 ? 1 find . -inum 3298355

如何不用重命名在文件管理器中隐藏文件和文件夹

如果一个系统被多个用户使用,你或许出于个人原因想在文件管理器中隐藏一些文件或文件夹不让其他人看到(绝大多数用户不会对 Linux 系统进行深入了解,所以他们只会看到文件管理器列出的文件和文件夹),我们有三种方法可以来做这件事.此外,(除了隐藏)你还可以使用密码保护文件或文件夹.在这个教程中,我们将讨论如何用非重命名的方法在文件管理器中隐藏文件和文件夹. 我们都知道,通过以点(".")前缀重命名一个文件或文件夹的方式,可以在 Linux 中将该文件或文件夹隐藏.但这不是隐藏文件或文件夹的

nodejs 文件与文件操作(读写文件 删除 重命名)

读写文件nodejs中操作相对就简单很多!来看看几个例子吧. [写文本文件] // wfile.js ------------------------------  代码如下 复制代码 var fs = require("fs");   var data = 'hello 雨林博客'; fs.writeFile('c:a.txt', data, 'ascii', function(err){  if(err){  console.log('写入文件失败');  }else{  cons

fckeditor上传文件按日期存放及重命名方法

  这篇文章主要介绍了fckeditor上传文件按日期存放及重命名方法,本文修改了相关PHP文件实现这二个需求,需要的朋友可以参考下 1. 实现 fckeditor 按日期分目录的形式存放上传的文件,比如今天是 2015年5月5日,那么今天上传的文件都放在这个目录里面去,明天上传的则自动创建并放在类似 2015-05-06 这样的目录里面去. (1)找到 editoreditorfilemanagerconnectorsphp 文件夹下的 config.php 文件 (2)找到如下配置变量 查看