java中的可释放资源定义,类似c#中的using
public static class FileDuplicator implements AutoCloseable
{
Scanner in = null;
PrintWriter out = null; public FileDuplicator(String sourceFile, String destFile) {
try {
in = new Scanner(new FileInputStream(sourceFile));
out = new PrintWriter(destFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} public void copy()
{
while(in.hasNext())
{
out.println(in.next().toUpperCase());
}
out.flush();
in.close();
in = null;
out.close();
out = null;
} @Override
public void close() throws Exception {
if(in != null)
in.close();
if(out != null)
out.close();
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.EventListener;
import java.util.List;
import java.util.Scanner; public class Test { public static void main(String[] args) throws FileNotFoundException
{
try (FileDuplicator fd = new FileDuplicator("f:\\test.txt", "f:\\test2.txt"))
{
fd.copy();
} catch (Exception e) {
e.printStackTrace();
} try(Scanner in = new Scanner(new FileInputStream("f:\\test.txt"));)
{ } System.out.println("end");
}
java中的可释放资源定义,类似c#中的using的更多相关文章
- mysql中的日期转换函数(类似oracle中的to_date)
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中 ...
- 您的位置:首页 » IOS » iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch
原文地址:http://blog.5ibc.net/p/86562.html 前提:当时看到别人写过这个类似AssistiveTouch的demo,但是有问题,第一改变不了位置.第二切换页面后无法使用 ...
- Windows中查找命令的路径 (类似Linux中的which命令)
where is a direct equivalent: C:\Users\Joey>where cmdC:\Windows\System32\cmd.exeNote that in Powe ...
- Java中static关键字的定义
1.static存在的主要意义 static的主要意义是在于创建独立于具体对象的域变量或者方法.以致于即使没有创建对象,也能使用属性和调用方法! static关键字还有一个比较关键的作用就是 用来形成 ...
- 简单练习题2编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能
编写Java应用程序.首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”.“取款”和“余额查询”.其次, 编写一个主类,在主类中测试Account类的 ...
- JAVA中关于数组的定义
前些日子,有网友问:在JAVA中 int[] a 这样定义的数组和 int a[] 定义的数组有什么区别? 当时没有细看,直接回复说,在JAVA中,两者是一样的,没有区别. 回头仔细看时,还是稍有区别 ...
- “全栈2019”Java第八十九章:接口中能定义内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [Java面试八]Hibernate总结以及在面试中的一些问题.
1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的? 为什么要使用 ①.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码. ②.Hiber ...
- [Java面试五]Spring总结以及在面试中的一些问题.
1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...
随机推荐
- SAP的软件维护费用,交还是不交?
SAP的软件维护费用,交还是不交? 首先我们要明确一点,什么是软件维护费用? 软件维护费用是指在企业购买了软件厂商的软件产品之后,软件厂商每年按照一定比例向企业收取一定的技术支持维护费用.收取 ...
- Ngnix配置
server { listen 80; server_name www.local.test; root /data/workspace; index index.php index.html in ...
- IP分为五类
IP地址分为五类: IP地址分为五类:A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验. 常用的三类IP地址 IP = 网路地址(网络号)+主机地址(主 ...
- (18)ProcessPoolExecutor进程池
# 新版本的进程池 ProcessPoolExecutor # 实例化进程池 ProcessPoolExcutor(cpu_count) # 异步提交任务 submit / map # 阻塞直到任务完 ...
- Petrozavodsk Winter Camp, Andrew, 2014, Bipartite Bicolored Graphs
由i个点和j个点组成的二分图个数为 $3^{ij}$,减去不联通的部分得到得到由i,j个点组成的联通二分图个数 $g_{i,j} = 3_{ij} - \sum_{k=1}^i \sum_{l=0}^ ...
- 解决安卓UI刷新卡屏,只显示最后一处刷新的问题
---恢复内容开始--- 错误1 安卓的机制决定了只有UI线程(也就是主线程)才能更新UI界面 否则会导致UI界面混乱的问题 这就说明了在new Thread中直接showImage是会报“出现非主线 ...
- ELK安装使用教程
一.说明 ELK是当下流行的日志监控系统.ELK是Elasticsearch.Logstash.Kibana三个软件的统称. 在ELK日志监控系统中,Logstash负责读取和结构化各类日志+发送给E ...
- ORACLE中使用row_number over()排序
from:http://blog.csdn.net/iw1210/article/details/11937085 意图:实现select top 1 * from tablename Oracle ...
- Android开发 ---ContentProvider数据提供者,Activity和Service就是上下文对象,短信监听器,内容观察者
1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...
- 第一节课:java介绍以及java开发环境的安装
互联网时代 什么是软件 什么是硬件 什么是操作系统 java是什么? 计算机高级程序语言 java能做什么? 开发软件(网站.app.游戏.应用系统.嵌入式) java对应的职位链(需求->产品 ...