`
John_Kong19
  • 浏览: 276317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java io经典例子

 
阅读更多
IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想。
在公司没活干,复习了一下IO,发现很多都忘记了,所以写的不好,只够初学用。我把我复习过程中写的代码贴出来,大家共同学习,并请多指教指教哈。顺便一起讨论IO
1、文件拷贝

Java code 

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读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符
Java code 

 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:\test.txt)中查出字符串”aa”出现的次数
Java code 

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、 三种方法读取文件
Java code 

 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、三种方法写文件
Java code 

 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型数组中
Java code 

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();
        }

分享到:
评论

相关推荐

    java io流 案例

    Java IO流是Java平台中的重要组成部分,用于处理输入和输出操作。它允许程序与外部设备如硬盘、网络、内存等进行数据传输。IO流的概念基于流(Stream)模型,数据以字节或字符序列的形式流动。Java IO库提供了丰富的...

    javaIO操作简单例子

    Java IO(Input/Output)操作是Java编程中的基础部分,主要负责数据的读取和写入。在Java中,InputStream 和 FileOutputStream 是两个重要的类,分别用于处理输入流和输出流,它们构成了Java IO体系的基础。 ...

    javaIO详细讲解+详细案例

    ### Java IO 流详解 #### 一、Java IO 流概念及...通过对流的分类以及案例的学习,我们可以更好地理解和应用Java IO流的各种功能。无论是简单的文件读写还是复杂的网络通信,Java IO流都能提供灵活且高效的解决方案。

    java中IO流例子

    Java中的IO流是Java平台提供的一种处理输入输出数据的核心机制,广泛应用于文件读写、网络通信、数据转换等场景。IO流分为字节流(Byte Stream)和字符流(Character Stream),它们构成了Java IO系统的基础。 1. *...

    io java io 流

    java io 的例子有利于对io的熟悉的了解深入,希望对大家有帮助

    java io案例

    本案例将深入探讨Java IO流的基本概念、主要类库及其在实际编程中的应用。 在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节的数据,而字符流处理Unicode字符。...

    java io.pdf

    Java IO(Input/Output)是Java编程语言中用于处理输入和输出操作的重要组成部分。它提供了丰富的类库,允许程序员在程序之间传输数据,包括从文件、网络、内存缓冲区到其他程序或系统组件。Java IO API是Java平台的...

    javaIO案例

    在这个"javaIO案例"中,我们关注的是如何使用核心的Java IO类,如`InputStream`、`OutputStream`、`FileInputStream`、`FileOutputStream`以及`PipedInputStream`和`PipedOutputStream`等管道流。这些类构成了Java ...

    北大青鸟java.io经典例子

    北大青鸟的课程中,`java.io`的经典例子通常会涵盖基本的文件读写、流的使用、数据转换等关键概念。以下是基于这个主题的一些详细知识点: 1. **流的概念**: 流是数据的序列,可以代表输入或输出。Java中的I/O流...

    java IO流精讲 JAVA IO流实例开发

    Java IO流是Java平台中用于处理输入/输出操作的核心组件,它允许程序与各种数据源(如文件、网络连接、内存缓冲区等)进行交互。Java IO流的精讲涵盖了许多概念和技术,包括流的分类、流的方向、缓冲区的使用、字符...

    java io流的实践案例大全

    在这个“java io流的实践案例大全”中,你将找到一系列全面且深入的示例,帮助你理解和掌握Java IO流的使用。 IO流在Java中分为四类:字节流(Byte Stream)、字符流(Character Stream)、对象流(Object Stream)...

    java io 与java nio区别

    这个例子展示了如何使用传统的Java IO来实现一个服务器端的应用程序,它可以接收客户端发送的消息,并将接收到的信息原样返回给客户端。这里使用了`ServerSocket`和`Socket`来进行网络通信,通过`BufferedReader`来...

    Java IO(输入输出)案例练习

    在给定的“Java IO(输入输出)案例练习”中,包含两个小练习,分别涉及字节流和字符流的使用。 首先,我们来看第一个练习,"task01"。这个例子中,开发者可能利用Java的字节流(Byte Stream)来模拟保存每日交易...

    java IO文档.docx

    Java IO流是Java平台中用于处理输入和输出的重要机制,它是数据从源到目的地传输的抽象表示。在Java中,流被设计成一系列有序的字节集合,它们具有起点(数据源)和终点(数据目的地),可以是磁盘文件、网络连接、...

    java的IO简单实例

    Java的输入/输出(IO)流是...这个简单的例子展示了Java IO流的基本用法,但在实际项目中,根据需求可能会涉及更复杂的流操作,如转换流、对象流、过滤流等。理解并熟练掌握这些基础,将有助于解决各种IO相关的问题。

    java IO流+socket源码 实现简单文本传输

    这个例子中,"io"可能是服务器端和客户端的代码文件,包含主类、Socket连接处理类和其他辅助类。例如,可能会有一个Server类负责监听和处理连接,一个Client类用于发起连接并发送数据,以及一些辅助方法用于读写文本...

    java之io流实例

    Java中的IO流是Java语言处理输入输出操作的重要组成部分,它为数据传输提供了强大的支持。本文将深入探讨Java的IO流实例应用,旨在帮助开发者更好地理解和掌握这一关键概念。 IO流在Java中分为两大类:字符流...

    javaIO流笔记

    ### Java IO流知识点详解 #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库...

    通俗易懂的javaIO讲解

    ### 通俗易懂的Java IO讲解 在Java中,输入输出流(IO)是一个非常重要的概念,它涉及到了数据如何从一个地方传输到另一个地方。本文将深入浅出地介绍Java IO的基础概念,并通过实例帮助读者更好地理解这些概念。 ...

Global site tag (gtag.js) - Google Analytics