zoukankan      html  css  js  c++  java
  • Java基础之IO流,利用StringBuilder模拟BufferedReader的readLine方法

    import java.io.*;

    class MyBufferedReaderDemo
    {
        public static void main(String[] args) throws IOException
        {
            MyBufferedReader myReader = new MyBufferedReader("MyBufferedReaderDemo.java");
            
            String line = null;
            while((line=myReader.readLine())!=null)
            {
                System.out.println(line);
            }
            
            myReader.close();
        }
    }

    class MyBufferedReader
    {
        private FileReader fileReader = null;
        
        public MyBufferedReader(String fileName) throws IOException
        {
            fileReader = new FileReader(fileName);
        }
        
        public String readLine() throws IOException
        {
            StringBuilder sb = new StringBuilder();
            int ch = 0;
            
            while((ch = fileReader.read())!=-1)
            {
                if(ch == '\r')
                    continue;
                else if(ch == '\n')
                    return sb.toString();
                else
                    sb.append((char)ch);
            }
            
            if(sb.length()!=0)
                return sb.toString();
                
            return null;
        }
        
        public void close() throws IOException
        {
            fileReader.close();
        }
    }
  • 相关阅读:
    多线程ExecutorService 的理解与使用
    MySql索引
    HttpURLConnection和HttpClient使用
    httpclient调用接口
    几个linux命令
    面试之自定义字符串操作
    C和C++中struct的区别
    如何根据端口号查看占用进程
    linux和window如何发布服务
    MYSQL中GROUP_CONCAT和CONCAT函数配合使用
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2881265.html
Copyright © 2011-2022 走看看