android,如何重命名文件?

2024-05-25

在我的应用程序中,我需要录制视频。在开始录制之前,我为其指定名称和目录。录制完成后,用户可以重命名其文件。我写了以下代码,但似乎不起作用。

当用户输入文件名并单击按钮时,我将执行以下操作:

private void setFileName(String text) {     
        String currentFileName = videoURI.substring(videoURI.lastIndexOf("/"), videoURI.length());
        currentFileName = currentFileName.substring(1);
        Log.i("Current file name", currentFileName);

        File directory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES), MEDIA_NAME);
        File from      = new File(directory, "currentFileName");
        File to        = new File(directory, text.trim() + ".mp4");
        from.renameTo(to);
        Log.i("Directory is", directory.toString());
        Log.i("Default path is", videoURI.toString());
        Log.i("From path is", from.toString());
        Log.i("To path is", to.toString());
    }

文本:是用户输入的名称。 当前文件名:是我在录制前指定的名称 MEDIA_NAME:文件夹名称

Logcat 显示了这一点:

05-03 11:56:37.295: I/Current file name(12866): Mania-Karaoke_20120503_115528.mp4
05-03 11:56:37.295: I/Directory is(12866): /mnt/sdcard/Movies/Mania-Karaoke
05-03 11:56:37.295: I/Default path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/Mania-Karaoke_20120503_115528.mp4
05-03 11:56:37.295: I/From path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/currentFileName
05-03 11:56:37.295: I/To path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/hesam.mp4

任何建议将不胜感激。


在你的代码中:

难道不应该是:

File from = new File(directory, currentFileName);

代替

File from = new File(directory, "currentFileName");


为了安全起见,

使用 File.renameTo() 。但在重命名之前请检查目录是否存在!

File dir = Environment.getExternalStorageDirectory();
if(dir.exists()){
    File from = new File(dir,"from.mp4");
    File to = new File(dir,"to.mp4");
     if(from.exists())
        from.renameTo(to);
}

Refer: http://developer.android.com/reference/java/io/File.html#renameTo%28java.io.File%29 http://developer.android.com/reference/java/io/File.html#renameTo%28java.io.File%29

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

android,如何重命名文件? 的相关文章

  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • Adobe 是否为其 PDF 阅读器提供 Android SDK 或 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在我们的应用程序内的视图中显示本地 PDF 文件 在 Android 4 03 下的平板电脑上运行 目前 我们将 Adob eR
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 对象 xml 反序列化问题?

    我的对象具有父子关系 每个子对象都有一个Parent指向其容器的属性 当这个对象在应用程序中创建时 它就被设置了 因此没有问题 此 Parent 属性标记有 XmlIgnore 属性 因为它需要设置为其运行时父实例 那么 在对象反序列化后初
  • CHAR(64) 或 BINARY(32) 在 SQL SERVER 中存储 SHA256 哈希

    我正在讨论在 SQL Server 中存储 SHA256 哈希时使用哪种数据类型 应该是 CHAR 64 还是 BINARY 32 该列将成为唯一聚集索引的一部分 我知道此时我可能会吹毛求疵 但是我想第一次就把这件事做好 而且我知道有时原始
  • 日期时间时区反序列化

    我为我的应用程序开发了一个 Rest API 它以以下格式发送到应用程序日期2018 09 07T17 29 12 02 00 我猜 2 00 代表我的时区作为一个对象的一部分 在我的 Flutter 应用程序中 一旦我反序列化接收到的对象
  • VS代码光标进入插入模式

    我一直在努力将光标模式从插入切换到正常 当我在 VS Code 中安装 VIM 扩展时 这一切就开始发生了 但我完全不知道为什么代码编辑器会突然发生这种情况 搜索谷歌后 我发现 VIM 扩展覆盖了 VS 代码的光标属性 我已经卸载了 VIM
  • Python 将 0 计算为 False

    在 Python 控制台中 gt gt gt a 0 gt gt gt if a print L gt gt gt a 1 gt gt gt if a print L L gt gt gt a 2 gt gt gt if a print L
  • 如何将Table View中的导航栏设置到顶部?

    如何将导航栏设置为情节提要界面生成器中表格视图的顶部 是否可以 如果我将导航栏添加到我的表视图中 我只会将其放在我的记录下 我正在使用 Xcode 4 3 2 您不应该自己添加导航栏 当场景嵌入到导航控制器或导航堆栈的一部分中时 界面构建器
  • java.io.IOException: EnsureRemaining: 仅剩余 0 个字节,尝试读取 1

    我在 giraph 中的自定义类方面遇到一些问题 我制作了 VertexInput 和 Output 格式 但总是收到以下错误 java io IOException ensureRemaining Only bytes remaining
  • 如果工作表不存在,Pandas 将工作表附加到工作簿,否则覆盖工作表

    我正在使用 pandas 更新现有的 Excel 工作簿 当使用ExcelWriter对象 我可以覆盖工作表 如果存在 否则创建一个新工作表吗 我的代码附加了新工作表 但是当我尝试覆盖现有工作表时 它会附加一个名称略有不同的新工作表 例如
  • 使用Excel宏执行命令并关闭cmd窗口

    这是我现在正在尝试的 Sub del BJSFM files Call Shell cmd exe S K cd d C UTAS SA del f s q BJSFM gt nul vbNormalFocus End Sub 问题是命令窗
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • jquery .load() 不起作用

    我似乎无法让 jquery 的 load 函数工作 一定是我缺少的一些简单的东西 基本上只是试图将 more html 的片段加载到 index html 中 索引 html
  • 带标签的 Material-ui 文本字段[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能告诉我如何在material ui lib中制作带有标签的文本字段 寻找这样的东西 https github com callem
  • 文件太大错误处理 Nodejs Express Multer

    我将 multer 与 ExpressJS 一起使用 我想将文件上传限制为 0 5 MB var limits fileSize 0 5 1024 1024 var upload multer dest public uploads lim
  • ClickOnce Hello World 不起作用

    我阅读了一些有关如何进行 ClickOnce 部署的文档 现在我正在尝试部署 hello world 应用程序 我有一个 WPF 默认应用程序 只是一个空窗口 这就是我所做的 打开项目属性 打开发布向导 选择本地服务器 我使用 Visual
  • 如何在异常处理程序中访问访问请求主体

    我们有一个 Spring Boot 应用程序 我们的控制器期望在我们的端点之一中有一个 XML 文档元素 PostMapping value api v1 do stuff consumes APPLICATION XML VALUE pr
  • Python服务器“通常只允许每个套接字地址使用一次”

    我正在尝试用 python 创建一个非常基本的服务器 它侦听端口 当客户端尝试连接时创建 TCP 连接 接收数据 发回某些内容 然后再次侦听 并无限期地重复该过程 这是我到目前为止所拥有的 from socket import server
  • 我可以使用 Rails API 执行 INSERT-SELECT 操作吗?

    我必须将一个表中的 BLOB 字段复制到另一个表中 并且我想使用 INSERT SELECT 查询来实现此目的 INSERT INTO target table key data comment SELECT my key data som
  • 使用 WebDriver 暂时绕过隐式等待

    当使用隐式等待时 正如这里所建议的 https stackoverflow com a 10950905 56285 我仍然有时想要断言即时元素不可见或不存在 换句话说 我know有些元素应该隐藏 并希望我的测试做出这样的断言fast 而不
  • 为什么 MS Excel 在 Worksheet_Change Sub 过程中崩溃并关闭?

    当我在 Excel 工作表上运行 VBA 代码时 我遇到了 Excel 崩溃的问题 我正在尝试在工作表更改中添加以下公式 Private Sub Worksheet Change ByVal Target As Range Workshee
  • android,如何重命名文件?

    在我的应用程序中 我需要录制视频 在开始录制之前 我为其指定名称和目录 录制完成后 用户可以重命名其文件 我写了以下代码 但似乎不起作用 当用户输入文件名并单击按钮时 我将执行以下操作 private void setFileName St