Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
* public void copyFile(String in, String out) throws IOException {
* @Cleanup FileInputStream inStream = new FileInputStream(in);
* @Cleanup FileOutputStream outStream = new FileOutputStream(out);
* byte[] b = new byte[65536];
* while (true) {
* int r = inStream.read(b);
* if (r == -1) break;
* outStream.write(b, 0, r);
* }
* }
*
*
* Will generate:
*
* public void copyFile(String in, String out) throws IOException {
* @Cleanup FileInputStream inStream = new FileInputStream(in);
* try {
* @Cleanup FileOutputStream outStream = new FileOutputStream(out);
* try {
* byte[] b = new byte[65536];
* while (true) {
* int r = inStream.read(b);
* if (r == -1) break;
* outStream.write(b, 0, r);
* }
* } finally {
* out.close();
* }
* } finally {
* in.close();
* }
* }
*
*
* Note that the final close method call, if it throws an exception, will overwrite any exception thrown
* in the main body of the generated try block. You should NOT rely on this behaviour - future versions of
* lombok intend to silently swallow any exception thrown by the cleanup method _IF the main body
* throws an exception as well, as the earlier exception is usually far more useful.
*
* However, in java 1.6, generating the code to do this is prohibitively complicated.
*/
@Target(ElementType.LOCAL_VARIABLE)
@Retention(RetentionPolicy.SOURCE)
public @interface Cleanup {
/**
* The name of the method that cleans up the resource. By default, 'close'. The method must not have any parameters.
*/
String value() default "close";
}