当文件名有空格时,运行时 exec() 不运行命令[重复]

2023-12-14

我是 Java 新手,正在尝试将我的一个项目从 C 转换为 Java,以便将其与另一个 Java 程序结合起来。当我使用 Runtime.exec() 时,我很难获得正确的结果。我有以下程序段,Java 忽略处理给定的命令。

command1 = "mv output/tsk/dir1/metabolic\\ waste.txt output/converted/file16.txt";                                               
r2 = Runtime.getRuntime();
p2 = r2.exec(command1);
p2.waitFor();

这里的问题是文件名“metabolic Waste.txt”。当没有空间时,相同的命令也会起作用。我知道我必须使用转义字符来表示空格,并且我这样做了。顺便说一句,我正在 Ubuntu 上工作。

我也尝试过使用

String[] command1 = new String[] {"mv output/tsk/dir1/metabolic\ waste.txt", "output/converted/file16.txt";

但没有成功。

附注给定的代码只是一个示例。我不只使用 linux mv 命令。我还运行一些命令行工具,例如 pdf2txt。如果文件名中有空格,我在运行命令时仍然遇到同样的问题。

已解决:我已经解决了我的问题。可笑的是我不得不删除转义字符并使用字符串数组。因此,空格没有转义字符。以下代码仅适用于本示例以及更一般的情况。

source_filepath = "output/tsk/dir1/metabolic waste.txt";
dest_filepath = "output/converted/file16.txt";
String[] str2= {"mv", source_filepath, dest_filepath};
r2 = Runtime.getRuntime().exec(str2);
p2.waitFor();

您必须转义转义,或者将路径用引号引起来:

String[] command1 = new String[] {"mv output/tsk/dir1/metabolic\\ waste.txt", "output/converted/file16.txt"};
String[] command1 = new String[] {"mv \"output/tsk/dir1/metabolic waste.txt\"", "output/converted/file16.txt"};

你必须使用\\因为java也使用\作为转义字符,所以"\\"实际上只包含一个\

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

当文件名有空格时,运行时 exec() 不运行命令[重复] 的相关文章

  • eclipse mylyn 与 redmine

    是否可以将mylyn连接到redmine而不需要redmine中的rest支持 有一个链接http download eclipse org mylyn incubator 3 8 http download eclipse org myl
  • Lombok 如何将代码生成到现有类中? [复制]

    这个问题在这里已经有答案了 我可以使用注释处理器从头开始生成类 但我无法像 lombok 那样修改类 我在 android studio 中搜索了 lombok 生成的类 但是我什么也没找到 然后我通过他们的网站检查了龙目岛概述 还在论坛中
  • 我的应用程序中的 google+ 集成

    我是 Android 开发新手 正在创建一个带有 Google 集成的 Android 应用程序 我看到了一个教程并开始遵循它 但自教程以来 Google 已经更新了 Google 集成 例如 在本教程中您曾经单击 获取配置文件 按钮htt
  • 有没有办法获取 JList 中的所有元素?

    我想知道是否有一种方法可以检索已添加到 JList 的所有元素的列表 例如 我希望 JList 从自定义单元格渲染器返回字符串或 JLabels 的数组或列表 您可以使用getModel http docs oracle com javas
  • 为什么这个 Java 静态字段为空?

    public class StaticTest private static String a private static String b this is a public static void main String args a
  • HQL - 分页的行标识符

    有谁知道HQL是否有一个关键字来标识行 例如ROWID或ROWNUM 我想使用 HQL 实现分页 但我无法使用 setMaxResult 或 setFirstResult 因为我不直接使用会话对象 因此不使用 Query 对象 而只是将查询
  • 如何从 ByteBuffer 转换为 Integer 和 String?

    我转换了一个int使用 ByteBuffer 的字节数组putInt 方法 我该如何做相反的事情 那么将这些字节转换为 int 吗 此外 我使用 String 的将字符串转换为字节数组getBytes 方法 我如何将其反过来转换 这byte
  • Apache HttpClient 4.x 在上传较大文件时表现奇怪?

    我正在使用 java 和 scala 开发和测试一个简单的客户端 服务器应用程序 The server是基于com sun net httpserver HttpServer并允许使用 POST 和 PUT 操作通过基本的 RESTful
  • Java写入ByteArrayOutputStream内存泄漏

    我正在将图像字节写入ByteArrayOutputStream然后通过套接字发送它 问题是 当我这样做时 ImageIO write image gif byteArray 内存增加很多 有点内存泄漏 我用这个发送 ImageIO writ
  • 自动装箱是否调用 valueOf()?

    我试图确定以下陈述是否保证为真 Boolean true Boolean TRUE Boolean true Boolean valueOf true Integer 1 Integer valueOf 1 我一直认为自动装箱相当于调用va
  • Java 1.8 和 tomcat 6.0.53 引起:java.io.EOFException:SSL 对等点错误关闭

    java cp catalina jar org apache catalina util ServerInfo Server version Apache Tomcat 6 0 53 Server built Apr 19 2017 22
  • StringBuilder - 重置或创建新的

    我有一个条件 StringBuilder 不断存储与大型平面文件 数百 MB 中的模式匹配的行 但是 在达到条件后 我将 StringBuilder 变量的内容写入文本文件 现在我想知道是否应该通过重置对象来使用相同的变量 gt strin
  • 如何显示 javadoc 代码块中的泛型?

    我有一个 javadoc 代码块 我想在其中编写一个包含泛型的代码示例 如下所示 public interface SomeInterface
  • 方法中缺少 return 语句错误

    我正在尝试编写一个返回计算机 MAC 地址字符串的静态方法 该函数本身可以在此处找到 http www mkyong com java how to get mac address in java http www mkyong com j
  • Java - 动态创建子类

    我想以编程方式创建一个子类 我想我的选择很少 Javassist CGLib BCEL 或 ASM 用例是一个应用程序的内部是面向类的 而扩展是基于类的 因此 我不能将单个类作为由外部化脚本驱动的多个扩展的基础 现在 我该怎么做呢 我找到了
  • 使用 ProGuard 混淆代码后如何保持 javadoc 可见?

    我使用 progured 4 7 混淆了我的代码 并保留了 A 类 其中包含描述该类功能的 javadoc keep public class com mysite ClassA public keepattributes InnerCla
  • SwingWorker 和 Executor 的区别

    我正在使用 SwingWorker 在我正在制作的应用程序上执行一些重负载任务 虽然今天我遇到了 Executor 类和这个例子 Executors newCachedThreadPool execute new Runnable publ
  • JdbcTemplate queryForInt/Long 在 Spring 3.2.2 中已弃用。应该用什么来代替呢?

    JdbcTemplate 中的 queryforInt queryforLong 方法在 Spring 3 2 中已弃用 我无法找出为什么或什么被认为是使用这些方法替换现有代码的最佳实践 典型方法 int rowCount jscoreJd
  • JPA2+Hibernate 3.6.0 中的 JTA 还是 LOCAL 事务?

    我们正在重新思考我们的技术堆栈 以下是我们的选择 由于应用程序的复杂性等 我们不能没有 Spring 和 Hibernate 我们还从 J2EE 1 4 迁移到 Java EE 5 技术栈 Java EE 5 JPA 2 0 我知道Java
  • Tomcat 中 JNDI 的 Java Mail API 配置文档

    我花了几天时间弄清楚如何通过 JNDI 在 Tomcat 中配置 javax mail Session有认证 现在我明白了 但只是在深入研究代码之后 这次我看到了有史以来最糟糕的代码 javax mail Service connect S

随机推荐

  • 混淆测试 fftw3 - 泊松方程 2d 测试

    我无法解释 理解以下现象 为了测试 fftw3 我使用 2d 泊松测试用例 laplacian f x y g x y 具有周期性边界条件 对方程进行傅里叶变换后 我们得到 F kx ky G kx ky kx ky 1 如果我取 g x
  • 在 Windows 8.1 存储 XAML 中添加新项目后,ListView.ContainerFromItem 返回 null

    我有一个简单的 ListView 没有项目模板和 SelectionChanged 事件设置
  • PHP MYSQLI编写语句登录并检查用户状态

    我正在学习使用一些基于 mysqli 的视频教程制作网站 我开始知道使用准备好的语句更安全 我正在尝试创建一个登录系统 这是我到目前为止所做的 这段代码帮助我完全登录成功
  • 使用 Cloud Functions 在 Google Cloud Platform 中设置环境变量

    我正在关注在这里指导并且似乎无法让我的Python应用程序 在GCP上很好地部署 来读取我在Cloud Functions中创建的环境变量 该函数的 REST 端点可以很好地返回环境变量 因为我已经在函数中编写了 Python 方法来执行此
  • 在访问选项卡之前,另一个选项卡中的传单未使用 leafletproxy 进行更新

    我正在制作一个使用闪亮的应用程序 该应用程序使用多个选项卡 在一个选项卡 不是起始选项卡 上 我显示一张传单地图 该地图由不同选项卡上的小部件控制 问题是 如果我更改一个选项卡上的输入 而不先访问地图 然后访问地图 则地图不会更新 但是 在
  • vue-router 与 laravel 路由结合

    我已成功设置 vue router 但将其与我的 laravel 5 3 路由混合时遇到一些问题 我有一个回家的 php 路线 Route get array as gt home uses gt HomeController showWe
  • Maven:如何检查工件是否存在?

    如何从 Mojo 内部检查本地存储库中是否已存在工件 我正在将大型二进制文件安装到本地 Maven 存储库中 在尝试下载它们之前我需要知道它们是否已经存在 在以下人员的帮助下解决了http docs codehaus org display
  • 拦截 Spring MVC 3 中的视图/响应

    我是 Spring MVC 3 的新手 我了解基本概念 我能够做简单的事情 例如创建控制器 服务和视图 然而 我还没有涉足更高级的领域 因此 如果这个问题看起来很愚蠢 或不可能 我深表歉意 我想知道是否有一种方法可以拦截视图和 或响应并在将
  • 替换 fflush(stdin)

    我有下面的代码 fflush stdin print Enter y n scanf c a 在这里 它在提供输入之前退出 看起来问题是因为它没有刷新可能包含一些垃圾字符的输入缓冲区 是否有刷新 stdin 的替代方案 此代码片段在 Sol
  • Boto3获取EC2实例的卷

    我正在尝试使用 boto 3 获取 aws 实例的卷 ID 列表 我正在获取某种集合管理器 但我不知道如何获取内部数据 import boto3 ec2 boto3 resource ec2 region name us west 2 in
  • 如何通过迭代地从字符串中删除所有出现的某些指定单词来最小化字符串的长度

    这个问题出现在一次编程竞赛中 但我们仍然不知道如何解决 问题 给定一个字符串 S 和一个字符串列表 L 我们希望不断删除 L 中可能出现的所有子字符串 并且我们必须最小化最终形成的字符串的长度 另请注意 删除字符串可能会引发更多删除 例如
  • WebDriverException:使用 ChromeDriver Chrome 和 Selenium 与 iframe 内的元素交互时目标框架分离

    我使用 Chromedriver 78 0 3904 70 WebDriverException target frame detached exception 已经发生过 但在以前版本的 chromedriver 中一切正常 现在在我的
  • HTTP 服务器检测到来自 HTTP 客户端的网络连接中断

    我有一个 Web 应用程序 在向服务器发出 HTTP 请求后 客户端在客户端完全接收到响应之前退出 或网络连接中断 在这种情况下 应用程序的服务器端需要执行一些清理工作 HTTP 协议中是否有内置方法来检测这种情况 服务器如何知道客户端是否
  • SpriteKit:检测完整的节点重叠

    我有两个 SKShapeNode 一个具有基于边缘的 SKPhysicsBody 一个基于体积 我想检测它们的相交而不发生碰撞 我的工作正常 当一个方法越过另一个方法时 SKPhysicsContactDelegate 接触方法就会被调用
  • Android 可点击 TextView,带有提示和图像,用于启动搜索对话框并显示所选结果

    我正在寻找一个示例 该示例展示了如何实现可单击的文本视图 该文本视图启动 Android 默认搜索对话框并显示选定的结果行 它应该与 Android 上的 Google 地图操作栏中的搜索字段具有相同的行为和设计 例如 左侧的放大镜图标 如
  • Java Arraylist 数据提取

    您将如何提取数据 如下所示 我想从这个数组列表中提取 itemname Original number 12 itemname BBQ number 23 itemname CatchUp number 23 这个数组 Original 1
  • 使用 AppleScript 将邮件消息设置为纯文本

    我有一个 AppleScript 可以很好地整理信息并创建带有附件的电子邮件 我找不到脚本将消息格式设置为接收收件箱所需的 纯文本 而不是默认的 富文本 的方法 是否有 AppleScript 方法 或技巧 将消息格式设置为 纯文本 我在尝
  • Tensorflow:如何在 python 中编写带有梯度的操作?

    我想用 python 编写一个 TensorFlow 操作 但我希望它是可微的 能够计算梯度 这个问题询问如何在 python 中编写操作 答案建议使用 py func 没有梯度 Tensorflow 用 Python 编写操作 TF 文档
  • Lumia Imaging SDK 图像混合创建分隔线

    我正在尝试使用 Lumia Imaging SDK 创建平铺背景JpegTools BlendAsync 方法 我循环调用该方法来合并所有平铺图像 该方法有效 但输出图像中存在不需要的线条 这些分隔线出现在单个图块图像的边界处 合并不干净
  • 当文件名有空格时,运行时 exec() 不运行命令[重复]

    这个问题在这里已经有答案了 我是 Java 新手 正在尝试将我的一个项目从 C 转换为 Java 以便将其与另一个 Java 程序结合起来 当我使用 Runtime exec 时 我很难获得正确的结果 我有以下程序段 Java 忽略处理给定