精华内容
下载资源
问答
  • Java System.lineSeparator()用法及代码示例
    2021-02-28 13:28:19

    lineSeparator()是Java中的内置方法,该方法返回system-dependent行分隔符字符串。它总是返回相同的值–系统属性line.separator的初始值。

    用法:

    public static String lineSeparator()

    参数:此方法不带任何参数。

    返回值:在任何UNIX系统中,它将返回“\n”或正整数;在Windows系统上,它将返回“\r\n”或正整数。

    异常:如果字符串为null,则抛出NullPointerException

    以下示例程序旨在说明System.lineSeparator()方法:

    示例1:为了说明静态字符串lineSeparator()方法的用法。

    // Java program to demonstrate working

    // of static String lineSeparator() method

    import java.io.IOException;

    import java.lang.*;

    import java.nio.channels.Channel;

    public class LineSeparatorExample {

    public static void main(String[] args)

    {

    String s = System.lineSeparator();

    for (char c : s.toCharArray()) {

    System.out.println((int)c);

    }

    }

    }

    输出:

    10

    注意:在这里它返回10。所以在这里10是行分隔符。

    示例2:为了说明静态字符串lineSeparator()方法用于整数值的工作原理。

    // Java program to demonstrate working

    // of static String lineSeparator() method

    import java.io.IOException;

    import java.lang.*;

    import java.nio.channels.Channel;

    class SystemDemo {

    public static void main(String args[])

    throws NullPointerException,

    IOException

    {

    Integer x = 636;

    System.out.println(System.lineSeparator());

    }

    }

    输出:

    \r\n

    注意:由于它是Microsoft Windows系统,因此在此返回“\r\n”。

    更多相关内容
  • JDK 7在java.lang.System类上引入了一个名为lineSeparator()的新方法。 该方法不期待任何参数,并返回一个String ,它表示“取决于系统的行分隔符字符串。” 此方法的Javadoc文档还指出System.lineSeparator() ...

    lineseparator

    JDK 7java.lang.System类上引入了一个名为lineSeparator()的新方法。 该方法不期待任何参数,并返回一个String ,它表示“取决于系统的行分隔符字符串。” 此方法的Javadoc文档还指出System.lineSeparator() “始终返回相同的值– 系统属性 line.separator的初始值。” 它进一步说明:“在UNIX系统上,它返回“ \n ”; 在Microsoft Windows系统上,它返回“ \r\n ”。

    既然Java开发人员长期以来一直能够使用System.getProperty(“ line.separator”)来获取此与系统相关的行分隔符值,那么为什么那个Java开发人员现在更喜欢使用System.lineSeparatorJDK-8198645 [“使用System.lineSeparator()代替getProperty(“ line.separator”)”]提供了一些在其“说明”中偏爱System.lineSeparator()而不是System.getProperty(String)方法的原因:

    基本模块中的许多类都使用System.getProperty(“ line.separator”),并且可以使用效率更高的System.lineSeparator()简化代码并提高性能。

    正如JDK-8198645中的“描述”所述,与System.getProperty("line.separator")相比,使用System.lineSeparator()更简单,更高效。 core-libs-dev邮件列表上的最近一条消息提供了更多详细信息,Roger Riggs在该消息中写道System.lineSeparator() “使用System中的行分隔符,而不是每次都在属性中查找它。”

    在许多情况下,与使用System.getProperty("line.separator") ,使用System.lineSeparator()的性能优势可能并不那么重要。 但是,鉴于其简单性,在编写更简单的代码时没有理由不获得性能上的好处(即使在许多情况下很难测量)。 System.getProperty(String)方法的缺点之一是必须确保将完全匹配的属性名称提供给该方法。 使用基于String的API时,总是存在将字符串拼写错误的风险(我见过“ sep a rator”多次拼写为“ sep e rator”),使用了错误的大小写,或者意外地引入了其他拼写错误,从而阻止了精确匹配被制造。

    在JDK 7中引入了此功能的JDK问题JDK-6900043 (“返回line.separator属性的添加方法”)在其“说明”中也阐明了一些好处:“查询line.separator值在大型系统。 正确执行此操作很冗长,并可能导致安全性失败; 让方法返回该值将是有益的。” 重复的JDK-6264243 (“ File.lineSeparator()以检索常用的'line.separator'系统属性的值”)详细说明了此方法的优点,并列出了“正确性”,“性能”和“易用性”。使用和跨平台开发”作为高级优势。 另一个重复的问题, JDK-6529790 (“请将LINE_SEPARATOR常量添加到System或其他类中”)指出,应该以某种方式将“常量”添加到“某些标准Java类(如String或System)中”与File.pathSeparator为文件分隔符提供的内容相似

    与JDK 7 System.lineSeparator()引入相关的消息之一使用以下描述来证明其补充:

    许多类都需要使用System.getProperty("line.separator") 许多做法不正确,因为每当读取系统属性时都需要使用doPrivileged块。 但这并不是什么秘密-即使您对安全管理器不信任,也可以区分行分隔符。

    与在JDK 7中添加System.lineSeparator()有关的一个有趣的旁注是,当时的Javadoc并未表明该方法是JDK 7的新功能。JDK-7082231 (“在System.lineSeparator上输入@since 1.7) ”)在JDK 8中解决了此问题,另外两个JDK问题( JDK-8011796JDK-7094275 )则表明,这是多个Java开发人员所希望的。

    System.lineSeparator()的引入是一个很小的增强,但是它确实提高了相对常用的API的安全性和可读性,同时并没有降低(实际上是在提高)性能。

    翻译自: https://www.javacodegeeks.com/2018/02/prefer-system-lineseparator-writing-system-dependent-line-separator-strings-java.html

    lineseparator

    展开全文
  • System.lineSeparator() 行分隔符,为什么不用"\n",因为系统环境不一样,System.lineSeparator()可以在Windows和Linux上都可以实现 -> Java8的lambda表达式。就是匿名函数。 EventQueue.invokeLater(() -> { ...

    System.lineSeparator()

    行分隔符,为什么不用"\n",因为系统环境不一样,System.lineSeparator()可以在Windows和Linux上都可以实现

    ->

    Java8的lambda表达式。就是匿名函数。

    EventQueue.invokeLater(() -> {
                JFrame frame = new ImageViewerFrame();
                frame.setTitle("ImageViewer");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
     
            });
    

    上面那一段可以看成如下:

    EventQueue.invokeLater(new Runnable() {
                public void run() {
                    JFrame frame = new ImageViewerFrame();
                    frame.setTitle("ImageViewer");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                }
            });
    

    And

    openItem.addActionListener(Event -> {
                int result = chooser.showOpenDialog(null);
     
                if (result == JFileChooser.APPROVE_OPTION){
                    String name = chooser.getSelectedFile().getPath();
                    label.setIcon(new ImageIcon(name));
                }
            });
    

    上面那一段可以看成如下:

    openItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    int result = chooser.showOpenDialog(null);
     
                    if (result == JFileChooser.APPROVE_OPTION){
                        String name = chooser.getSelectedFile().getPath();
                        label.setIcon(new ImageIcon(name));
                    }
                }
            });
    
    展开全文
  • JDK 7在java.lang.System类上引入了一个名为lineSeparator()的新方法。 该方法不期待任何参数,并返回一个String ,它表示“取决于系统的行分隔符字符串。” 此方法的Javadoc文档还指出System.lineSeparator() ...

    JDK 7java.lang.System类上引入了一个名为lineSeparator()的新方法。 该方法不期待任何参数,并返回一个String ,它表示“取决于系统的行分隔符字符串。” 此方法的Javadoc文档还指出System.lineSeparator() “始终返回相同的值– 系统属性 line.separator的初始值。” 进一步说明:“在UNIX系统上,它返回“ \n ”; 在Microsoft Windows系统上,它返回“ \r\n ”。

    既然Java开发人员长期以来一直能够使用System.getProperty(“ line.separator”)来获取该与系统相关的行分隔符值,那么为什么那个Java开发人员现在更喜欢使用System.lineSeparatorJDK-8198645 [“使用System.lineSeparator()代替getProperty(“ line.separator”)”]提供了一些在其“说明”中偏爱System.lineSeparator()而不是System.getProperty(String)方法的原因:

    基本模块中的许多类都使用System.getProperty(“ line.separator”),并且可以使用效率更高的System.lineSeparator()简化代码并提高性能。

    正如JDK-8198645中的“描述”所述,与System.getProperty("line.separator")相比,使用System.lineSeparator()更简单,更高效。 core-libs-dev邮件列表上的最近一条消息提供了更多详细信息,Roger Riggs在该消息中写道System.lineSeparator() “使用System中的行分隔符,而不是每次都在属性中查找它。”

    在许多情况下,与使用System.getProperty("line.separator") ,使用System.lineSeparator()的性能优势可能并不那么重要。 但是,鉴于其简单性,在编写更简单的代码时没有理由不获得性能上的好处(即使在许多情况下很小且很难测量)。 System.getProperty(String)方法的缺点之一是必须确保将完全匹配的属性名称提供给该方法。 使用基于String的API,总是存在将字符串拼写错误的风险(我见过“ sep a rator”多次拼写为“ sep e rator”),使用了错误的大小写,或者意外地引入了其他拼写错误,从而阻止了精确匹配被制造。

    在JDK 7中引入了此功能的JDK问题,即JDK-6900043 (“返回line.separator属性的添加方法”),在其“说明”中也阐明了一些好处:“查询line.separator值在大型系统。 正确执行此操作很冗长,并且可能会导致安全性失败; 让方法返回该值将是有益的。” 重复的JDK-6264243 (“ File.lineSeparator()以检索常用的'line.separator'系统属性的值”)详细说明了此方法的优点,并列出了“正确性”,“性能”和“易用性”。使用和跨平台开发”作为高级优势。 另一个重复的问题, JDK-6529790 (“请将LINE_SEPARATOR常数添加到System或其他类中”)指出,应该以某种方式向“某些标准Java类(如String或System)中添加” constant”。与File.pathSeparator为文件分隔符提供的内容相似

    与JDK 7 System.lineSeparator()引入相关的消息之一用以下描述证明了其补充:

    许多类都需要使用System.getProperty("line.separator") 许多做法不正确,因为每当读取系统属性时都需要使用doPrivileged块。 但这不是秘密-即使您对安全管理器不信任,也可以区分行分隔符。

    与在JDK 7中添加System.lineSeparator()有关的一个有趣的旁注是,当时的Javadoc并未表明该方法是JDK 7的新功能。JDK-7082231 (“在System.lineSeparator上输入@since 1.7) ”)在JDK 8中解决了此问题,另外两个JDK问题( JDK-8011796JDK-7094275 )表明,这是多个Java开发人员所希望的。

    System.lineSeparator()的引入是一个很小的增强,但是它确实提高了相对常用的API的安全性和可读性,同时并没有降低(实际上是在提高)性能。

    翻译自: https://www.javacodegeeks.com/2018/02/prefer-system-lineseparator-writing-system-dependent-line-separator-strings-java.html

    展开全文
  • 二、System.lineSeparator()的源码 三、System.lineSeparator()具体含义 从方法名上可以得到,这是系统对象里的行分隔符,那么具体表示什么含义呢? 一、System类的概念 在API中system类介绍的比较简单,我们给...
  • Java System.lineSeparator()

    2021-11-17 20:20:58
    lineSeparator()是Java中的内置方法,该方法返回system-dependent行分隔符字符串。它总是返回相同的值–系统属性line.separator的初始值。 用法: public static String lineSeparator() 参数:此方法不带任何参数。...
  • 不同环境下的换行符是不一样的: windows环境下的文本文件换行符:\r\n ...如果要实现程序跨平台运行,则必须使用System.lineSeparator()进行换行。不然会出现windows上可以运行,linux上无法运行的情况。 ...
  • System.lineSeparator()的作用

    万次阅读 2018-04-12 14:24:29
    看代码时候看到这一块,不是很明白。... line.separator 行分隔符(换行符) 那么其与‘\n’ 有什么区别呢。系统的环境变量,那么系统就有肯能有差别 一般的为Window 下和Unix下其所表示意义就会不同。这样写...
  • What should I see when I use the following?System.out.println("LineSeperator1: "+System.getProperty("line.separator...System.out.println("LineSeperator2: "+System.lineSeparator());I get the following...
  • 这是本人在进行使用递归替换HTML文件中的图片内容时,所遇到的问题解决方案,喜欢能够帮到大家,让自己懂得东西越来愈多,做更多的分享
  • 这是JAVA 1.7的方法 1.7之前为 System.getProperty("line.separator")
  • 浅谈 System.getProperty("line.separator")

    万次阅读 2018-11-30 15:09:59
    文章目录浅谈 System.getProperty("line.separator")1、System.getProperty("line.separator") 是什么2、为什么要用System....浅谈 System.getProperty(“line.separator”) 1、System.getPr...
  • System.getProperty(“line.separator”) java中的转义符"\r\n": windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r Mac下的文本文件换行符:\n 这样写的话,则剔除了平台无关性,写一次代码跑通在...
  • 使用System.getProperty("line.separator")时没有换行问题解决
  • line.separator 行分隔符(换行符) 那么其与‘\n’ 有什么区别呢。系统的环境变量,那么系统就有肯能有差别 一般的为Window 下和Unix下其所表示意义就会不同。 这样写的话屏蔽了 Windows和Linux的区...
  • 在java中"\n&...所以使用System.getProperty(“line.separator”);可以换取当前系统的换行符,避免因为linux或windows或Mac的不同导致运行报错。 System.getProperty(“line.sepa...
  • 其中lineSeparator实现为: lineSeparator = (String) java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction("line.separator")); 而line.separator属性跟据每个系统又是不一样...
  • 1、System.getProperty(“line.separator”) 是什么 // 获取操作系统对应的换行符 System.getProperty("line.separator") java中的转义符"\r\n": windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r ...
  • 二、使用System.getProperty(“line.separator”)代替固定格式的换行符的意义 具备平台无关性 一次编写,到处运行 更保险 三、注意点 并不是说具备了平台无关性,保险这些好处就可以总是这么用了。要根据具体情况...
  • 在java中存在一些转义字符,...line.separator") 这也是换行符,功能和"\n"是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ,更保险一些. https://blog.csdn.net/zhpengfei0915/article/details...
  • System.getProperty("line.separator")

    千次阅读 2018-02-03 13:27:05
    在java中存在一些转义字符,比如"\n"为换行符, JDK自带的一些操作符 System.getProperty("line.separator");  这也是换行符,功能和"\n"是一致的,用此方法能区分 Windows和Linux环境的换行。  开发中与不是同...
  • 看代码时候看到这一块,不是很明白。...line.separator 行分隔符(换行符) 那么其与‘\n’ 有什么区别呢。系统的环境变量,那么系统就有肯能有差别 一般的为Window 下和Unix下其所表示意义就会不同...
  • 为排除不同平台的区别:Java里面有一些转义字符可以用JDK中的一些属性来表示,排除不同平台的区别(Linux Windows Mac等),比如换行符"\n",在JDK中为System.getProperty("line.separator")
  • dispatcher.groupDispatchNotify(group, () -> stringBuffer.append( "This task running after all tasks in the group are completed").append(System.lineSeparator())); resultText.setText(stringBuffer....
  • 比如 : System.getProperty("line.separator") 这也是换行符,功能和"\n"是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ,更保险一些. 今天在代码里面看见别人这么写了,记下学习一下,以前一直都写的"\n...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,040
精华内容 12,416
关键字:

system.lineseparator()