欢迎访问宙启技术站
智能推送

Java函数的输入输出流处理和文件读写

发布时间:2023-06-23 06:33:24

在Java中,输入输出流(I/O)是用来处理数据流的机制。I/O通常用于将数据从一个源传输到另一个目的地。其中输入流用于从外部读入数据,输出流用于将数据输出到外部。这篇文章主要介绍Java函数的I/O流处理和文件读写。

1. 函数I/O流处理

函数I/O流处理是指将I/O流与函数相结合,从而实现函数的输入输出功能。

1.1 函数的输入

在Java中,读取函数的输入可以使用Scanner类和BufferedReader类。

1.1.1 Scanner类

Scanner类可以从输入流中读取基本类型数据和字符串。使用Scanner类时,需要创建Scanner类的对象,并将输入流作为参数传递给该对象。

以下是使用Scanner类读取输入流并向函数中传递参数的例子:

import java.util.Scanner;
public class Example{
    public static void main(String [] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入参数a: ");
        int a = scanner.nextInt(); // 读取一个整数
        System.out.print("请输入参数b: ");
        int b = scanner.nextInt(); // 读取一个整数
        int sum = add(a,b); // 调用add函数,将a和b作为参数传递给函数
        System.out.println("a+b的和为: " + sum);
    }
    public static int add(int a, int b) {
        return a+b;
    }
}

1.1.2 BufferedReader类

BufferedReader类可以从输入流中读取字符数据。使用BufferedReader类时,需要创建BufferedReader类的对象,并将输入流作为参数传递给该对象。

以下是使用BufferedReader类读取输入流并向函数中传递参数的例子:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Example {
    public static void main(String [] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入参数a: ");
        int a = Integer.parseInt(reader.readLine()); // 读取一行数据并将其转换为整数类型
        System.out.print("请输入参数b: ");
        int b = Integer.parseInt(reader.readLine()); // 读取一行数据并将其转换为整数类型
        int sum = add(a,b); // 调用add函数,将a和b作为参数传递给函数
        System.out.println("a+b的和为: " + sum);
    }
    public static int add(int a, int b) {
        return a+b;
    }
}

1.2 函数的输出

在Java中,将函数的输出写入到输出流中可以使用System.out.print()、System.out.println()和PrintWriter类。

1.2.1 System.out.print()和System.out.println()

使用System.out.print()和System.out.println()可以将函数的输出打印到控制台上。

以下是使用System.out.print()和System.out.println()将函数的输出打印到控制台上的例子:

public class Example {
    public static void main(String [] args) {
        int a = 10;
        int b = 20;
        int sum = add(a,b);
        System.out.print("a+b的和为: ");
        System.out.println(sum);
    }
    public static int add(int a, int b) {
        return a+b;
    }
}

1.2.2 PrintWriter类

使用PrintWriter类可以将函数的输出写入到输出流中。使用PrintWriter类时,需要创建PrintWriter类的对象,并将输出流作为参数传递给该对象。

以下是使用PrintWriter类将函数的输出写入到文件中的例子:

import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Example {
    public static void main(String [] args) throws IOException  {
        int a = 10;
        int b = 20;
        int sum = add(a,b);
        PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
        writer.println("a+b的和为: " + sum);
        writer.close();
    }
    public static int add(int a, int b) {
        return a+b;
    }
}

2. 文件读写

Java中的文件读写可以使用InputStream类和OutputStream类实现。其中InputStream类用于从文件中读取数据流,OutputStream类用于将数据流写入到文件中。

2.1 文件输入流

使用InputStream类可以从文件中读取数据流。在Java中,FileInputStream类继承了InputStream类,可以用于从文件中读取数据。

以下是使用FileInputStream类从文件中读取数据流的例子:

import java.io.FileInputStream;
import java.io.IOException;
public class Example {
    public static void main(String [] args) throws IOException {
        FileInputStream inputStream = new FileInputStream("input.txt");
        byte [] data = new byte[inputStream.available()];
        inputStream.read(data);
        System.out.println(new String(data));
        inputStream.close();
    }
}

2.2 文件输出流

使用OutputStream类可以将数据流写入到文件中。在Java中,FileOutputStream类继承了OutputStream类,可以用于将数据流写入到文件中。

以下是使用FileOutputStream类将数据流写入到文件中的例子:

import java.io.FileOutputStream;
import java.io.IOException;
public class Example {
    public static void main(String [] args) throws IOException {
        FileOutputStream outputStream = new FileOutputStream("output.txt");
        String data = "Hello, world!";
        outputStream.write(data.getBytes());
        outputStream.close();
    }
}

在Java中,可以将文件输入流和文件输出流结合使用,实现文件的拷贝。

以下是使用文件输入流和文件输出流实现文件拷贝的例子:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Example {
    public static void main(String [] args) throws IOException {
        FileInputStream inputStream = new FileInputStream("input.txt");
        FileOutputStream outputStream = new FileOutputStream("output.txt");
        byte [] data = new byte[inputStream.available()];
        inputStream.read(data);
        outputStream.write(data);
        inputStream.close();
        outputStream.close();
    }
}

以上是介绍Java函数的I/O流处理和文件读写的内容。在开发Java应用程序时,输入输出流和文件读写是非常重要的功能,也是近年来新开发的基本功能之一。希望对读者有所帮助。