可以通过BufferedReader
流的形式进行衫猜流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader
bre
=
null
try
{
String
file
=
"D:/test/test.txt"
bre
=
new
BufferedReader(new
FileReader(file))//此时获取到的bre就是整个文件的缓存流
while
((str
=
bre.readLine())!=
null)
//
判断最后一行不存在,为空结束循环
{
System.out.println(str)//原样输出读到的内容,此处可以添加条件进行不同的处理
};
备注:
流用完之后判塌胡必须close掉,掘拦如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
public static void main(String[] args) {File data = new File("data.txt")
try {
InputStreamReader read = new InputStreamReader(new FileInputStream(
data), "UTF-8")
final BufferedReader bufferedReader = new BufferedReader(read)
for (int i = 0i <5i++) {
new Thread(new Runnable() {
@Override
public void run() {
String lineTXT = null
synchronized (bufferedReader) {
try {
while ((lineTXT = bufferedReader.readLine()) != null) {
System.out.println(Thread.currentThread()+":"+lineTXT)
bufferedReader.notify()
bufferedReader.wait()
}
} catch (IOException e) {
e.printStackTrace()
} catch (InterruptedException e) {
e.printStackTrace()
}finally{
bufferedReader.notifyAll()
}
}
}
}).start()
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace()
} catch (FileNotFoundException e) {
e.printStackTrace()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)