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();
}
}
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();
}
}