java io 系统的实现机制是怎样的?会不会发生阻塞?

smiles_yang 2002-03-26 01:37:13
例如, 我想读入一个文件中的内容,如果文件为空,那么读文件的函数会不会发生阻塞,直到文件有内容为止?如果是这样,我怎么判断一个文件是否是结束了呢?
...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leon50422 2002-03-28
  • 打赏
  • 举报
回复
多线程的东西应该是可以去同时读取一个文件的吧,至于写的时候才需要thread safe。另外,不知道你有没有用BufferedReader这个decorator去读取File,使用readLine()就OK了!readLine()返回Null就说明已经到达Stream的尾部了。很好用的。
eg. BufferedReader br = new BufferedReader(new FileReader(new File("filename")))
while (br.readLine()!=null)
{
....
}
ahbill 2002-03-26
  • 打赏
  • 举报
回复
多线程同时读取一个文件是会出问题的
解决方法是将读定操作语气设成互斥
即,如果一个进程在写,另一个进程则需等待解锁后,才能读写。
smiles_yang 2002-03-26
  • 打赏
  • 举报
回复
是什么异常? 也就是说如果我想一个线程写文件,一个线程同时读文件是不可能的了?因为我无法判断何时文件结束。
pengji 2002-03-26
  • 打赏
  • 举报
回复
不会!JAVA中也没有文件结束标记,但到文件末尾会抛出异常的!
GJA106 2002-03-26
  • 打赏
  • 举报
回复
不会的,java的异常机制会捕捉到这些异常。
你可以以此来判断。
smiles_yang 2002-03-26
  • 打赏
  • 举报
回复
JAVA 中有没有特殊的文件结束标识符?

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧