当前位置:首页 > 行业动态 > 正文

java io流读写文件

Java IO流实现文件读写,包括字节流和字符流,支持缓冲区、随机访问等操作。

Java中IO流简介

Java中的IO流(输入/输出流)是用于处理输入和输出数据的一种方式,它允许程序从外部源读取数据,或者将数据写入到外部目标,IO流主要分为字节流和字符流两种类型,字节流用于处理二进制数据,如图片、音频等;字符流用于处理文本数据,如.txt文件,在Java中,IO流的使用主要涉及到java.io包中的类和接口。

Java中如何使用字节流读写文件

1、使用FileInputStream和FileOutputStream进行文件的读写操作

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamDemo {
    public static void main(String[] args) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream("input.txt");
            fos = new FileOutputStream("output.txt");
            int data;
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
                if (fos != null) {
                    fos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

2、使用BufferedInputStream和BufferedOutputStream进行文件的读写操作

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamDemo {
    public static void main(String[] args) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream("input.txt");
            fos = new FileOutputStream("output.txt");
            int data;
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
                if (fos != null) {
                    fos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Java中如何使用字符流读写文件(以UTF-8编码为例)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import javax.xml.parsers.DocumentBuilderFactory; // Java7开始支持,如果不支持,需要添加依赖库:xml-apis和xercesImpl-2.9.1(或其他版本)到项目中,并在代码顶部添加以下导入语句:import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transformation.*; import javax.xml.xpath.*; import javax
0