使用IO流无法删除本地文件的原因

private void deleteLocalFile(final String filename){
        String filePath = filename.substring(1);//根据自己的路径来赋值
        File f = new File(filePath);
        if(f.exists()){
            f.delete();
        }
    }


以上代码正确,但是就是无法删除文件,原因是:

你的上一个IO流没有关闭,也就是没有调用close();


建议以后用到IO流的地方在try..catch后都加上finally,即防止了资源浪费也防止了影响下面代码的效果

public void test(final String fileName){
    	URLConnection urlConnection;
    	InputStream is = null;
		try {
			URL url = new URL("XXXX" + fileName);
			urlConnection = url.openConnection();
			is = urlConnection.getInputStream();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
    }


你可能感兴趣的:(IO流)