zoukankan      html  css  js  c++  java
  • java IO文件操作简单基础入门例子,IO流其实没那么难

    IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想。
    今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作。

    1、文件拷贝

    try {
                File inputFile = new File(args[0]);
                if (!inputFile.exists()) {
                    System.out.println("源文件不存在,程序终止");
                    System.exit(1);
                }
                File outputFile = new File(args[1]);
                InputStream in = new FileInputStream(inputFile);
                OutputStream out = new FileOutputStream(outputFile);
                byte date[] = new byte[1024];
                int temp = 0;
                while ((temp = in.read(date)) != -1) {
                    out.write(date);
                }
                in.close();
                out.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
     

    2、java读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符

     
    String fileName = "D:/date.java.bak";
            // String fileName = "D:/test.qqq";
            String line;
            int i = 0, j = 0, f = 0, k = 0;
            try {
                BufferedReader in = new BufferedReader(new FileReader(fileName));
                line = in.readLine();
                while (line != null) {
                    // System.out.println(line);
                    char c[] = line.toCharArray();
                    for (int i1 = 0; i1 < c.length; i1++) {
                        // 如果是字母
                        if (Character.isLetter(c[i1]))
                            i++;
                        // 如果是数字
                        else if (Character.isDigit(c[i1]))
                            j++;
                        // 是空格
                        else if (Character.isWhitespace(c[i1]))
                            f++;
                    }
                    line = in.readLine();
                    k++;
                }
                in.close();
                System.out
                        .println("字母:" + i + ",数字:" + j + ",空格:" + f + ",行数:" + k);
            } catch (IOException e) {
                e.printStackTrace();
            }
     
     
     

    3、 从文件(d: est.txt)中查出字符串”aa”出现的次数


     
    try {
                BufferedReader br = new BufferedReader(new FileReader(
                        "D:\test.txt"));
                StringBuilder sb = new StringBuilder();
                while (true) {
                    String str = br.readLine();
                    if (str == null)
                        break;
                    sb.append(str);
                }
                Pattern p = Pattern.compile("aa");
                Matcher m = p.matcher(sb);
                int count = 0;
                while (m.find()) {
                    count++;
                }
                System.out.println(""aa"一共出现了" + count + "次");
            catch (FileNotFoundException e) {
                e.printStackTrace();
            catch (IOException e) {
                e.printStackTrace();
            }
     
     
     
     

    4、 三种方法读取文件

    try {
               // 方法一
               BufferedReader br = new BufferedReader(new FileReader(new File(
                       "D:\1.xls")));
               // StringBuilder bd = new StringBuilder();
               StringBuffer bd = new StringBuffer();
               while (true) {
                   String str = br.readLine();
                   if (str == null) {
                       break;
                   }
                   System.out.println(str);
                   bd.append(str);
               }
               br.close();
               // System.out.println(bd.toString());
               // 方法二
               InputStream is = new FileInputStream(new File("d:\1.xls"));
               byte b[] = new byte[Integer.parseInt(new File("d:\1.xls").length()
                       + "")];
               is.read(b);
               System.out.write(b);
               System.out.println();
               is.close();
               // 方法三
               Reader r = new FileReader(new File("d:\1.xls"));
               char c[] = new char[(int) new File("d:\1.xls").length()];
               r.read(c);
               String str = new String(c);
               System.out.print(str);
               r.close();
           } catch (RuntimeException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           } catch (FileNotFoundException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
     

    5、三种方法写文件   

     
    try {
               PrintWriter pw = new PrintWriter(new FileWriter("d:\1.txt"));
               BufferedWriter bw = new BufferedWriter(new FileWriter(new File(
                       "d:\1.txt")));
               OutputStream os = new FileOutputStream(new File("d:\1.txt"));
               // 1
               os.write("ffff".getBytes());
               // 2
               // bw.write("ddddddddddddddddddddddddd");
               // 3
               // pw.print("你好sssssssssssss");
               bw.close();
               pw.close();
               os.close();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
     
     

    [代码]6、读取文件,并把读取的每一行存入double型数组中

    try {
                BufferedReader br = new BufferedReader(new FileReader(new File(
                        "d:\2.txt")));
                StringBuffer sb = new StringBuffer();
                while (true) {
                    String str = br.readLine();
                    if (str == null) {
                        break;
                    }
                    sb.append(str + "、");
                }
                String str = sb.toString();
                String s[] = str.split("、");
                double d[] = new double[s.length];
                for (int i = 0; i < s.length; i++) {
                    d[i] = Double.parseDouble(s[i]);
                }
                for (int i = 0; i < d.length; i++) {
                    System.out.println(d[i]);
                }
                br.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
  • 相关阅读:
    e807. 设置进程监听对话框的延迟弹出
    e806. 创建进程监听对话框
    Spring MVC静态资源处理
    SpringMVC处理方法的数据绑定
    HttpMessageConverter
    Redis中对Key进行分类
    LinkedHashMap源码剖析
    TreeMap源代码深入剖析
    CMS垃圾收集器
    @Java VisualVM 插件地址
  • 原文地址:https://www.cnblogs.com/fan-yuan/p/6051337.html
Copyright © 2011-2022 走看看