如何将格式化(\n\t)文本传递到java命令行
我需要在命令行中传递一个格式化字符串,以便在JFrame中格式化显示输入文本:如何将格式化(\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批处理文件语言问题,据
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程序,我需要在命令行中传递格式化的字符串。有什么原因不能编写一个包装器(使用上述函数),然后用未设置的参数调用实际程序?