如题。
程序中遇到个问题,没有找到原因。比较新旧代码后,我怀疑是IO的问题。
Properties config = new Properties();
config.load(new FileInputStream("config/NoCheckUserKey.properties"));
代码如上,try catch省略。读取配置文件时,new了一个匿名文件流。这个流没有关闭。
我是从项目中其他地方拷贝过来,项目原来是正常的。
但是,我发现,我现在使用的地方是在一个线程的run方法中。
我怀疑是流没关闭,但不确定,也不知到怎样重现我的猜想。在生产环境上测试才有BUG,测试环境上测试不出。郁闷!
开头到结束,我只看到你说你遇到一个问题,再加上你的推测式的解决方案,最后再对问题来一句抱怨,你的问题具体是?出现什么错误?可有系统的异常、堆栈等信息。
我的问题是:(1)读取properties文件,不关闭IO可以吗?(PS:有网友称可以不关闭,等待垃圾回收)(2)文件能够同时被多个IO进程访问吗,最多是多少,是受内存限制的吗?(3)遇到类似问题,如何重现问题。如果能排除IO的问题,我将不在这方面纠结。采用及时关闭的方案。