タイトルが尋ねるとおり、System.getProperty("line.seperator") が null を返すのはなぜですか。
周りを見回すと、そうすべきではないと思います。
このコードを実行すると、セパレーターのある行が壊れているため、設定されているように見えます。
class Test {
public static void main( String[] args ) {
System.out.println(System.getProperties());
}
}
$ java Test
{java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386, java.vm.version=19.1-b02, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=:, java.vm.name=Java HotSpot(TM) Server VM, file.encoding.pkg=sun.io, sun.java.launcher=SUN_STANDARD, user.country=GB, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/niko, java.runtime.version=1.6.0_24-b07, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/endorsed, os.arch=i386, java.io.tmpdir=/tmp, line.separator=
, java.vm.specification.vendor=Sun Microsystems Inc., os.name=Linux, (And so on...)
ただし、コードでこれを取得しようとすると、null になります。
class Test{
public static void main( String[] args ) {
System.out.println("This is not " + System.getProperty("line.seperator") + "Broken");
}
}
$ java Test
This is not nullBroken
Ubuntu 10.10 と Java (ビルド 1.6.0_24-b07) を使用しています。
ありがとう