java I/O系统 LineNumberReader类

LineNumbeReader类可以很方便的读取文件的行号

package ch13;
import java.io.*;

import io.BufferedInputFile;

public class BasicFileOutput {
  static String file = "src/ch13/Writer.java";
  public static void main(String[] args)
          throws IOException {
            BufferedReader in = new BufferedReader(
              new StringReader(
                BufferedInputFile.read("src/ch13/Read.java")));
            PrintWriter out = new PrintWriter(
              new BufferedWriter(new FileWriter(file)));
            LineNumberReader ln = new LineNumberReader(in);
            int lineCount = 1;
            String s;
            ln.setLineNumber(5);
            while((s = ln.readLine()) != null )
              out.println(ln.getLineNumber() + ": "+ s);
            out.close();
            // Show the stored file:
            System.out.println(BufferedInputFile.read(file));
          }
} /* 6: package ch13;
7:
8: import java.io.*;
9: import java.util.Iterator;
10: import java.util.LinkedList;
11: import java.util.ListIterator;
12:
13: public class Read {
14:     public static void main(String[] args)throws IOException
15:     {
16:         if(args.length!=1)
17:             System.exit(1);
18:         BufferedReader in = new BufferedReader(new FileReader(args[0]));
19:         LinkedList<String> list = new LinkedList<String>();
20:         String s;
21:         StringBuilder sd = new StringBuilder();
22:         while(in.ready())
23:         {
24:             s=in.readLine();
25:             list.add(s);
26:         }
27:         PrintWriter out = new PrintWriter(
28:                 new BufferedWriter(new FileWriter("../src/ch12/Writer.java")));
29:         Integer lineNumber = 1;
30:         for(String str:list)
31:         {
32:             out.println((lineNumber++) + ": " + str);
33:         }
34:         out.close();
35:     }
36: }

 *///:~

原文地址:https://www.cnblogs.com/jiangfeilong/p/10451892.html

时间: 2024-10-19 14:56:26

java I/O系统 LineNumberReader类的相关文章

JAVA之IO技术-自定义的LineNumberReader类

package ioTest.io2; /* * 自定义一个带有读取行号方法的读取文件的装饰类 */ import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class MyLineNumberReaderDemo { public static void main(String[] args) throws IOException { String line; //创建输入流-读取

Java学习--异常处理及其应用类

异常是运行时在代码序列中引起的非正常状况,换句话说,异常是运行时错误.在不支持异常处理的计算机语言中,必须手动检查和处理错误----通常是通过使用错误代码,等等.这种方式既笨拙又麻烦.Java的异常处理避免了这些问题,并且在处理过程中采用面向对象的方式管理运行时错误. 1.异常处理的基础概念 Java异常是用来描述在一段代码中发生的异常情况(也就是错误)的对象.当出现引起异常的情况时,就会创建用来表示异常的对象,并在引起错误的方法中抛出异常的对象.方法可以选择自己处理异常,也可以继续传递异常.无

java I/O系统(输入输出流)

java I/O系统(输入输出流) 流的特性1.含有流质(数据)2.它有方向(读或写) 流的分类: 输入流和输出流 输入流:io包中的输入流继承自抽象类InputStream或Reader 输出流:io包中的输入流继承自抽象类OutputStream或Writer 字节流和字符流 注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节 1.字节流:以byte为最小单位传送,继承自抽象类InputStream或OutputStream,用于处理二进制文件,InputStream为读取字节流的父

近来的java小总结(2.1):类的知识的查漏补缺

首先,我是一名新手,所以,要带着批判的眼光来看下面的文章   这篇文章说了些什么? 这文章是我近来8.6号来在编程思想上打的代码,从0~200页的源码接近到在这里,下文正是总结这0~200页的的知识,涉及到接口,内部类.初始化,数值计算的一些细节.此文章不会一下子写完,可能隔一天可能再补下来.因为代码确实有点多.. 注意 1 我的注释不一定正确(不过各小标题和代码一定是正确的,因为是书本上的原话,但是注释不一定正确),如果你确信我的内容的话,你可能会损失很大,因为我只是个菜鸟,我只是来补救一些知

Java操作IO各主要类介绍

DataInputStream和DataOutputStream 往二进制文件中读和写入java基本数据类型 public class BinaryReadWrite { private DataInputStream dis = null; private DataOutputStream dos = null; private String s_FilePath = "config\\bin.dat"; private byte[] buff = "{\"nam

Java的IO流各个类的使用原则

参考:http://blog.csdn.net/ilibaba/article/details/3955799 Java IO 的一般使用原则(花多眼乱,其实每个类都有专门的作用): 这里有详细介绍:Java的IO输入输出流类的介绍(有图) 一.按数据来源(去向,也就是颗粒)分类: 1 .文件: FileInputStream, FileOutputStream, (字节流) FileReader, FileWriter(字符流) 2 .字节数组 byte[]: ByteArrayInputSt

java中获取系统属性以及环境变量

java中获取系统属性以及环境变量 System.getEnv()和System.getProperties()的差别 从概念上讲,系统属性 和环境变量 都是名称与值之间的映射.两种机制都能用来将用户定义的信息传递给 Java 进程.环境变量产生很多其它的全局效应,由于它们不仅对Java 子进程可见,并且对于定义它们的进程的全部子进程都是可见的.在不同的操作系统上,它们的语义有细微的区别,比方,不区分大写和小写.由于这些原因,环境变量更可能有意料不到的副作用.最好在可能的地方使用系统属性.环境变

Java核心技术-4-对象与类

4 对象与类 4.1 面向对象程序设计概述 1 类 封装(数据隐藏):将数据和行为组合在一个包中,并对对象使用者隐藏数据的实现方式. 对象中的数据成为实例域,操纵数据的过程称为方法. 2 对象 对象的三个主要特性:对象的行为behavior,对象的状态state,对象标识identity.3 识别类 4 类之间的关系 依赖uses-a,一个类的方法操纵另一个类的对象 聚合has-a,一个类的对象(其数据域)包含另一个类的对象 继承is-a,类A扩展类B. 4.2 使用预定义类 1 对象与对象变量

java I/O系统总结

参考了Thinking in java I/O部分,发现该书更多是从开发者原理性角度去描述I/O系统,这样使得让初学者不太好懂,后面我参考了"尚学堂"关于这部分视频讲解,感觉比较适合初学,有条理性.容易理解. 首先介绍关于流的概念,流比喻成管道. 上一张图片很清晰对流进行分类.最简单方法我们对上图四个抽象类在java API中进行查阅具体提供方法.这里还需要注意区分就是字节.字符这两个基本概念不同. 接下来对节点流和处理流两个概念. 这个就是我认为java I/O比较不方便的,不是直接