java学习day10--异常 IO

时间:2022-06-13
本文章向大家介绍java学习day10--异常 IO,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

2018.6.15 1.递归 递归输出99乘法表 public static void test3(int i) { if(i == 1) { System.out.println(“1*1=1”); }else { test3(i-1); for(int j=1;j<=i;j++) { System.out.print(j+”*”+i+”=”+i*j+” “); } System.out.println(); } }


2.异常 (1) try{ 运行的代码块。 }catch(Exception e){ 出现异常时,出现的提示信息。 }finally{ 最后都会执行 除非前面执行了System.exit(0);就不会执行这一句。 } (2)throw和throws throws:用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。 用在方法声明后面,跟的是异常类名 可以跟多个异常类名,用逗号隔开 表示抛出异常,由该方法的调用者来处理 throws表示出现异常的一种可能性,并不一定会发生这些异常 throw:则是用来抛出一个具体的异常类型。 用在方法体内,跟的是异常对象名 只能抛出一个异常对象名 表示抛出异常,由方法体内的语句处理 throw则是抛出了异常,执行throw则一定抛出了某种异常 //自行抛出Exception异常 //该代码必须处于try块里,或处于带throws声明的方法中 throw new Exception(“a的值大于0,不符合要求”);


3.File 地址格式: d:/a.txt || d:\a.txt

File f = new File(“d:”); String date = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format(f.lastModified());//文件最后更改日期 System.out.println(date);


4.IO //创建输入字节流 程序和文件建立了连接 FileInputStream fs = new FileInputStream(“d:/a/1.txt”); int i = fs.read(); System.out.println(i); //输出字节流 FileOutputStream fos = new FileOutputStream(“d:/a/1.txt”); fos.write(97);

//复制

byte[] b = new byte[1024]; while((len=in.read(b))!=-1) out.write(byte,o,len)


实际应用:

Map<String,Integer> map = new HashMap<>();
        try {
            BufferedReader reader = new BufferedReader(new FileReader("d:/data/access.log"));
            String line;
            while((line = reader.readLine())!=null) {
                String[] split = line.split("\|");
                String str = split[1];
                //将IP转换成长整型
                //long l = Utils.ipToLong(str);
                //根据长整形的Ip数据,List数据中获取对应的省份
                String province = Utils.getProvinceByLong(str);
                Integer i = map.getOrDefault(province, 0);
                i+=1;
                map.put(province, i);   
            }   
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();        
}

5.set Set就是不重复的元素。 通过元素的equals方法,来判断是否为重复元素。 Set集合取出元素的方式可以采用:迭代器,增强 for