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

Java中IO操作函数的使用方法和示例代码

发布时间:2023-06-23 19:17:00

Java中的IO操作函数用于读取、写入和操作文件、网络流及其他数据源。本文将介绍Java中常用的IO操作函数的使用方法及示例代码。

1. 文件读取函数

Java中常用的文件读取函数是BufferedReader和Scanner。其中BufferedReader适用于大数据量的读取,而Scanner适用于读取字符串和数字。

BufferedReader示例代码:

try{
    FileReader fileReader = new FileReader("file.txt"); //创建FileReader对象
    BufferedReader bufferedReader = new BufferedReader(fileReader); //创建BufferedReader对象
    String line;
    while ((line = bufferedReader.readLine()) != null) { //读取文件内容
        System.out.println(line);
    }
    bufferedReader.close();
} catch (IOException e) {
    e.printStackTrace();
}

Scanner示例代码:

try{
    File file = new File("file.txt"); //创建File对象
    Scanner scanner = new Scanner(file); //创建Scanner对象
    while (scanner.hasNextLine()) { //判断是否还有下一行
        String line = scanner.nextLine();
        System.out.println(line);
    }
    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

2. 文件写入函数

Java中常用的文件写入函数是PrintWriter和BufferedWriter。其中PrintWriter适用于写入字符串和数字,而BufferedWriter适用于大数据量的写入。

PrintWriter示例代码:

try{
    FileWriter fileWriter = new FileWriter("file.txt", false); //创建FileWriter对象
    PrintWriter printWriter = new PrintWriter(fileWriter); //创建PrintWriter对象,设置为覆盖写入
    printWriter.println("Hello World"); //写入文本内容
    printWriter.close();
} catch(IOException e) {
    e.printStackTrace();
}

BufferedWriter示例代码:

try{
    FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); //创建FileOutputStream对象
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); //创建OutputStreamWriter对象
    BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter); //创建BufferedWriter对象
    bufferedWriter.write("Hello World"); //写入文本内容
    bufferedWriter.flush(); //刷新缓冲区
    bufferedWriter.close();
} catch(IOException e) {
    e.printStackTrace();
}

3. 网络流读取函数

Java中的网络流读取函数有很多,例如InputStream、URLConnection、HttpClient等。这里以URLConnection为例讲解网络流读取函数的使用方法。

示例代码:

try{
    URL url = new URL("http://www.example.com"); //创建URL对象 
    URLConnection connection = url.openConnection(); //打开连接
    InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream()); //创建InputStreamReader对象
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader); //创建BufferedReader对象
    String line;
    while ((line = bufferedReader.readLine()) != null) { //读取网页内容
        System.out.println(line);
    }
    bufferedReader.close();
} catch (IOException e) {
    e.printStackTrace();
}

4. 网络流写入函数

Java中的网络流写入函数也有很多,例如OutputStream、URLConnection、HttpClient等。这里以URLConnection为例讲解网络流写入函数的使用方法。

示例代码:

try{
    URL url = new URL("http://www.example.com"); //创建URL对象 
    URLConnection connection = url.openConnection(); //打开连接
    connection.setDoOutput(true); //允许写入数据
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream()); //创建OutputStreamWriter对象
    BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter); //创建BufferedWriter对象
    bufferedWriter.write("Hello World"); //写入数据
    bufferedWriter.flush(); //刷新缓冲区
    bufferedWriter.close();
} catch (IOException e) {
    e.printStackTrace();
}

5. 其他IO操作函数

除了文件和网络流的读写函数,Java中还有很多其他类型的IO操作函数,如ByteArrayInputStream、ByteArrayOutputStream、PipedInputStream、PipedOutputStream等。这些函数一般用于数据源的转换、传输和处理。这里以ByteArrayInputStream和ByteArrayOutputStream为例讲解其使用方法。

示例代码:

try{
    String str = "Hello World"; //定义字符串
    byte[] bytes = str.getBytes(); //将字符串转换为字节数组
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); //创建ByteArrayInputStream对象
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); //创建ByteArrayOutputStream对象
    int ch;
    while ((ch = byteArrayInputStream.read()) != -1) { //读取数据并写入到输出流中
        byteArrayOutputStream.write(Character.toUpperCase((char) ch));
    }
    byte[] result = byteArrayOutputStream.toByteArray(); //将结果转换为字节数组
    System.out.println(new String(result)); //输出结果
    byteArrayInputStream.close();
    byteArrayOutputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

以上就是Java中常用的IO操作函数的使用方法及示例代码。通过使用这些函数,我们可以轻松地进行文件和网络流的读写操作,并且能够灵活地处理各种类型的数据源。