我有一个制表符分隔的字符串(代表一个表),该字符串传递给我的方法。当我将其打印到命令行时,它看起来像是带有行的表:
http://i.stack.imgur.com/2fAyq.gif
命令窗口已正确缓冲。我的想法是,在每行之前或之后肯定有换行符。
我的问题是我想将传入的字符串分成代表表行的单个字符串。到目前为止,我有:
private static final String newLine = System.getProperty("line.separator").toString();
private static final String tab = "\t";
private static String[] rows;
...
rows = tabDelimitedTable.split(newLine); //problem is here
System.out.println();
System.out.println("################### start debug ####################");
System.out.println((tabDelimitedTable.contains(newLine)) ? "True" : "False");
System.out.println("#################### end debug###################");
System.out.println();
输出:
################### start debug ####################
False
#################### end debug###################
显然,字符串中有一些内容告诉操作系统开始新的一行。但是,它显然不包含换行符。
在Windows XP SP3上运行最新的JDK。
有任何想法吗?
尝试
rows = tabDelimitedTable.split("[" + newLine + "]");
这应该解决 正则表达式 问题。
也不重要,但是返回类型
System.getProperty("line.separator")
是 String, 因此无需调用toString()。
问题内容: 我的程序输入一个文本文件,该文件的每个单词之间都用换行符分隔,我的程序接收该文本文件并处理数据,然后我需要输出到一个新文件,同时保持控制台输出。 现在,我想知道为什么当我将“ \ n”附加到stringBuilder时,它将在控制台中以换行的形式打印出来,但是在文件输出中却没有将其作为换行,而只是将所有单词放在一行中。 当我使用newLine时,它只会在控制台输出和输出文件中给换行。这
问题内容: 我以前不知道何时定义参数,数据存储在哪里? 如果说我在一个Java文件中使用过,那么我可以在任何地方使用这些属性吗?但这不是真的,我不能在任何地方使用它,只能在我调用的同一个Java文件中使用。 我真的不知道这种方法的原因和作用。 问题答案: 类具有一个名为props 的成员变量,其类型为。除此之外,是类的子类型。所有属性值都存储为键和值。因此,回答另一个问题,您可以在整个应用程序中很
问题内容: 我正在Eclipse中运行一个Maven项目以进行Cucumber测试。我的测试运行器类如下所示: 不必将标签硬编码到测试运行器中,我渴望使用.command文件将它们传递给他们。(即使用System.getProperty(“ cucumber.tag”)) 但是,将代码行添加到上述测试运行器时出现错误: 我得到的错误是:“注释属性CucumberOptions.tags的值必须是一
问题内容: 只是好奇什么时候回来。根据java.io.File Java文件 - 默认的临时文件目录由系统属性java.io.tmpdir指定。在UNIX系统上,此属性的缺省值通常为“ / tmp”或“ / var / tmp”;默认值为“ / tmp”或“ / var / tmp”。在Microsoft Windows系统上,通常为“ c:\ temp”。调用Java虚拟机时,可以为此系统属性赋
问题内容: 似乎有三种 相同的 方法可以独立于平台获取依赖于平台的“文件分隔符”: 我们如何决定何时使用哪个? 它们之间甚至有什么区别吗? 问题答案: 可以通过调用命令行参数或使用命令行参数覆盖 获取默认文件系统的分隔符。 获取默认文件系统。 获取文件系统的分隔符。请注意,作为一种实例方法,在需要代码在一个JVM中对多个文件系统进行操作的情况下,可以使用该方法将不同的文件系统传递给代码(而不是默认
问题内容: System.getenv()和System.getProperty()有什么区别? 当我们使用Processbuilder运行任何命令时,我们可以设置环境变量,即: 如果在此方法之前使用System.setProperties()设置了一些属性,则该属性可用于由ProcessBuilder启动的此过程吗? 问题答案: 获取 环境变量 。获取Java属性。环境变量是在OS级别指定的。通