在java中,操做文件File是一个对象,因此打开建立文件以后不用进行关闭,可是若是写入读取文件内容了,须要关闭流。java
在程序里操做ftp,sftp时必定要关闭channelSftp和ftpclient等,操做文件时FileInputStream,FileOutputStream等输入输出流也要关闭。linux
关闭操做必定要放在finally里。服务器
若是操做频繁而没有关闭的话,通常会报错 java.net.SocketException: 打开的文件过多,这时候详细检查程序,检查sftp或者ftp工具类,检查处理类的try-catch-finally是否有逻辑问题。工具
在linux服务器上能够使用.net
ulimit -a
查看当前系统设置的最大句柄数。code
使用对象
lsof -p PId | wc -l
查看某程序打开了多少文件。blog