Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将格式化(\n\t)文本传递到java命令行_Java_Batch File - Fatal编程技术网

如何将格式化(\n\t)文本传递到java命令行

如何将格式化(\n\t)文本传递到java命令行,java,batch-file,Java,Batch File,我需要在命令行中传递一个格式化字符串,以便在JFrame中格式化显示输入文本: Hello The sun is shinning! 如何在Windows批处理文件中放置“\n” java -cp . Test "Hello\nThe sun is shinning!" 我无法更改程序,它希望在文本框中显示一个字符串作为命令行参数,我希望传递多行 谢谢我认为这是不可能的 请记住,“\n”转义序列仅由Java编译器识别,并不意味着其他任何内容 所以这里有一个Windows批处理文件语言问题,据

我需要在命令行中传递一个格式化字符串,以便在JFrame中格式化显示输入文本:

Hello
The sun is shinning!
如何在Windows批处理文件中放置“\n”

java -cp . Test "Hello\nThe sun is shinning!"
我无法更改程序,它希望在文本框中显示一个字符串作为命令行参数,我希望传递多行


谢谢

我认为这是不可能的

请记住,“
\n
”转义序列仅由Java编译器识别,并不意味着其他任何内容

所以这里有一个Windows批处理文件语言问题,据我所知,没有办法在Windows的参数中嵌入NL

但是,您可以解决上面提到的“
\n
”问题,并让您的代码识别转义序列:

param = param.replaceAll("\\n", "\n");
反斜杠字符在第一个字符串中引用了两次,因为您实际上希望匹配文字反斜杠字符

Apache Commons库中还有一个函数可以执行以下操作:

import org.apache.commons.lang.*;
param = StringEscapeUtils.unescapeJava(param);

这有点难看,但您应该能够使用
echo
&
来完成它
试试这个:

java -cp . Test (echo Hello&&echo The sun is shining!)

选项卡不需要转义-您可以直接将其放入批处理文件。

告诉我们您已经尝试过的内容可能会有所帮助。我尝试了:-java-cp。测试“Hello\n阳光灿烂!”-java-cp。测试“你好,阳光灿烂!”-java-cp。Test<1.txt我真的不知道如何在windows批处理文件中插入\n字符作为参数。我感谢您的评论,如果我可以更改代码,我完全同意您的意见。问题是我无法更改Java程序,我需要在命令行中传递格式化的字符串。有什么原因不能编写一个包装器(使用上述函数),然后用未设置的参数调用实际程序?