A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梅灏 中级黑马   /  2015-10-29 22:03  /  551 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么重写方法之后,引用mc不能编译了
package com.heima.Test;

import java.util.Scanner;
import java.io.*;

public class Test7 {
        // 将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出
        public static void main(String[] args)throws IOException {

                // 1.创建键盘录入对象.
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入内容:");

                try (FileOutputStream fos = new FileOutputStream("Text.txt");
                                MyClose mc = new MyClose();) {
                        {
                                {
                                        while (true) {
                                                String line = sc.nextLine();
                                                if ("quit".equals(line)) {
                                                        break;
                                                }
                                                fos.write(line.getBytes());
                                                fos.write("\r\n".getBytes());

                                        }
                                }
                        }
                }
        }
}
下面是同一个包的另一个类  
package com.heima.Test;

public class MyClose implements AutoCloseable {

        @Override
        public void close() throws Exception {
                System.out.println("我关了");
        }
        }

1 个回复

倒序浏览
  try (FileOutputStream fos = new FileOutputStream("Text.txt");
                                MyClose mc = new MyClose();)这种写法我也是第一次看到,但是这种写法只能在JDK1.7以上才能这样写呢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马