<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FFile_Input_Output%2FLineNumberReader</id>
		<title>Java/File Input Output/LineNumberReader - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FFile_Input_Output%2FLineNumberReader"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/LineNumberReader&amp;action=history"/>
		<updated>2026-04-21T18:46:07Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/File_Input_Output/LineNumberReader&amp;diff=6177&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/LineNumberReader&amp;diff=6177&amp;oldid=prev"/>
				<updated>2010-06-01T06:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:03, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/File_Input_Output/LineNumberReader&amp;diff=6176&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/File_Input_Output/LineNumberReader&amp;diff=6176&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Convert lines into the canonical format, that is, terminate lines with the CRLF sequence. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.FilterOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
/**&lt;br /&gt;
 * Convert lines into the canonical format, that is, terminate lines with the&lt;br /&gt;
 * CRLF sequence.&lt;br /&gt;
 * &lt;br /&gt;
 * @author John Mani&lt;br /&gt;
 */&lt;br /&gt;
public class CRLFOutputStream extends FilterOutputStream {&lt;br /&gt;
  protected int lastb = -1;&lt;br /&gt;
  protected boolean atBOL = true; // at beginning of line?&lt;br /&gt;
  private static final byte[] newline = { (byte) &amp;quot;\r&amp;quot;, (byte) &amp;quot;\n&amp;quot; };&lt;br /&gt;
  public CRLFOutputStream(OutputStream os) {&lt;br /&gt;
    super(os);&lt;br /&gt;
  }&lt;br /&gt;
  public void write(int b) throws IOException {&lt;br /&gt;
    if (b == &amp;quot;\r&amp;quot;) {&lt;br /&gt;
      writeln();&lt;br /&gt;
    } else if (b == &amp;quot;\n&amp;quot;) {&lt;br /&gt;
      if (lastb != &amp;quot;\r&amp;quot;)&lt;br /&gt;
        writeln();&lt;br /&gt;
    } else {&lt;br /&gt;
      out.write(b);&lt;br /&gt;
      atBOL = false;&lt;br /&gt;
    }&lt;br /&gt;
    lastb = b;&lt;br /&gt;
  }&lt;br /&gt;
  public void write(byte b[]) throws IOException {&lt;br /&gt;
    write(b, 0, b.length);&lt;br /&gt;
  }&lt;br /&gt;
  public void write(byte b[], int off, int len) throws IOException {&lt;br /&gt;
    int start = off;&lt;br /&gt;
    len += off;&lt;br /&gt;
    for (int i = start; i &amp;lt; len; i++) {&lt;br /&gt;
      if (b[i] == &amp;quot;\r&amp;quot;) {&lt;br /&gt;
        out.write(b, start, i - start);&lt;br /&gt;
        writeln();&lt;br /&gt;
        start = i + 1;&lt;br /&gt;
      } else if (b[i] == &amp;quot;\n&amp;quot;) {&lt;br /&gt;
        if (lastb != &amp;quot;\r&amp;quot;) {&lt;br /&gt;
          out.write(b, start, i - start);&lt;br /&gt;
          writeln();&lt;br /&gt;
        }&lt;br /&gt;
        start = i + 1;&lt;br /&gt;
      }&lt;br /&gt;
      lastb = b[i];&lt;br /&gt;
    }&lt;br /&gt;
    if ((len - start) &amp;gt; 0) {&lt;br /&gt;
      out.write(b, start, len - start);&lt;br /&gt;
      atBOL = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /*&lt;br /&gt;
   * Just write out a new line, something similar to out.println()&lt;br /&gt;
   */&lt;br /&gt;
  public void writeln() throws IOException {&lt;br /&gt;
    out.write(newline);&lt;br /&gt;
    atBOL = true;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create LineNumberReader from FileReader ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.LineNumberReader;&lt;br /&gt;
class LineViewer {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    LineNumberReader lnr = null;&lt;br /&gt;
    FileReader fr = new FileReader(args[0]);&lt;br /&gt;
    lnr = new LineNumberReader(fr);&lt;br /&gt;
    String s;&lt;br /&gt;
    while ((s = lnr.readLine()) != null)&lt;br /&gt;
      System.out.println(lnr.getLineNumber() + &amp;quot;: &amp;quot; + s);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Line Number IO ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.LineNumberReader;&lt;br /&gt;
public class LineNumberIOApp {&lt;br /&gt;
  public static void main(String args[]) throws IOException {&lt;br /&gt;
    FileReader inFile = new FileReader(&amp;quot;LineNumberIOApp.java&amp;quot;);&lt;br /&gt;
    LineNumberReader inLines = new LineNumberReader(inFile);&lt;br /&gt;
    String inputLine;&lt;br /&gt;
    while ((inputLine = inLines.readLine()) != null) {&lt;br /&gt;
      System.out.println(inLines.getLineNumber() + &amp;quot;. &amp;quot; + inputLine);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Split Lines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.LineNumberReader;&lt;br /&gt;
import java.io.StringReader;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
/*&lt;br /&gt;
 *  soapUI, copyright (C) 2004-2009 eviware.ru &lt;br /&gt;
 *&lt;br /&gt;
 *  soapUI is free software; you can redistribute it and/or modify it under the &lt;br /&gt;
 *  terms of version 2.1 of the GNU Lesser General Public License as published by &lt;br /&gt;
 *  the Free Software Foundation.&lt;br /&gt;
 *&lt;br /&gt;
 *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without &lt;br /&gt;
 *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &lt;br /&gt;
 *  See the GNU Lesser General Public License for more details at gnu.org.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
public class Utils {&lt;br /&gt;
  public static final String NEWLINE = System.getProperty( &amp;quot;line.separator&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
  public static boolean isNullOrEmpty( String str )&lt;br /&gt;
  {&lt;br /&gt;
    return str == null || str.length() == 0 || str.trim().length() == 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public static List&amp;lt;String&amp;gt; splitLines( String string )&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      ArrayList&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
      LineNumberReader reader = new LineNumberReader( new StringReader( string ) );&lt;br /&gt;
      String s;&lt;br /&gt;
      while( ( s = reader.readLine() ) != null )&lt;br /&gt;
      {&lt;br /&gt;
        list.add( s );&lt;br /&gt;
      }&lt;br /&gt;
      return list;&lt;br /&gt;
    }&lt;br /&gt;
    catch( IOException e )&lt;br /&gt;
    {&lt;br /&gt;
      // I don&amp;quot;t think this can really happen with a StringReader.&lt;br /&gt;
      throw new RuntimeException( e );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use LineNumberReader class to read file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
 &lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.LineNumberReader;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    File file = new File(&amp;quot;data.csv&amp;quot;);&lt;br /&gt;
    FileReader fr = new FileReader(file);&lt;br /&gt;
    LineNumberReader lnr = new LineNumberReader(fr);&lt;br /&gt;
    // lnr.setLineNumber(400);&lt;br /&gt;
    String line = &amp;quot;&amp;quot;;&lt;br /&gt;
    while ((line = lnr.readLine()) != null) {&lt;br /&gt;
      System.out.println(&amp;quot;Line Number &amp;quot; + lnr.getLineNumber() + &amp;quot;: &amp;quot; + line);&lt;br /&gt;
    }&lt;br /&gt;
    fr.close();&lt;br /&gt;
    lnr.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the LineNumberReader to read a text file line by line ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
import java.io.FileReader;&lt;br /&gt;
import java.io.LineNumberReader;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    LineNumberReader r = new LineNumberReader(new FileReader(&amp;quot;yourFile.txt&amp;quot;));&lt;br /&gt;
    String line = null;&lt;br /&gt;
    while ((line = r.readLine()) != null) {&lt;br /&gt;
      System.out.println(r.getLineNumber() + &amp;quot;: &amp;quot; + line);&lt;br /&gt;
    }&lt;br /&gt;
    r.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>