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
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/167862.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复