import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
// 流 以 内存 为参照
// 字节流 : FileOuputStream FileInputStream
// 字符流 : FileWriter FileReader
// 缓冲流: BufferedWriter BufferedReader
public class IO {
public static void main(String[] args){
fileReader();
}
//字节流 输出流
public static void fileOutputStream(){
File f = new File("e:\\text.txt"); //指定到支持的文件
try{
//文件不存在时创建
if(f.exists()==false){
f.createNewFile();
}
FileOutputStream fos = new FileOutputStream(f);
String str = "今天的天气很闷沉";
byte[] b = str.getBytes();
fos.write(b);
fos.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
//字符流 输出流
public static void fileWriter(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
FileWriter fw = new FileWriter(f,true); //true 表示不覆盖文件里面的内容
String str = "今天的天气很闷沉";
char[] ch = str.toCharArray();
fw.write("\r\n"); //写入换行
fw.write(ch);
fw.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
// 缓冲流 输出流
public static void bufferedWriter(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
BufferedWriter bw = new BufferedWriter(new FileWriter(f,true)); // 以字符流的对象为参数
//缓冲流可以直接操作字符
bw.write("\r\n");
bw.write("天气不是很好!");
bw.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
//字节流 输入流
public static void fileInputStream(){
File f = new File("e:\\text.txt");
try{
if(f.exists()==false){
f.createNewFile();
}
FileInputStream fis = new FileInputStream(f);
// 字节数组的长度 ,由文件的字节大小
byte[] b = new byte[(int)f.length()];
fis.read(b); //读入数据
String str = new String(b); //以字节数组构建字符串
fis.close();
System.out.println(str);
}catch(Exception ex){
ex.printStackTrace();
}
}
//字符流 输入流
public static void fileReader(){
File f = new File("e:\\text.txt");
try{
if(!f.exists()){
f.createNewFile();
}
FileReader fr = new FileReader(f);
StringBuffer sb = new StringBuffer();
char[] ch = new char[1000]; // 字符的长度未知
int hasRead = 0;
while((hasRead=fr.read(ch))>0){
sb.append(new String(ch,0,hasRead));
}
fr.close();
System.out.println(sb);
}catch(Exception ex){
ex.printStackTrace();
}
}
//缓冲刘 输入流
public static void bufferedReader(){
File f = new File("e:\\text.txt");
try{
if(!f.exists()){
f.createNewFile();
}
BufferedReader br = new BufferedReader(new FileReader(f)); //字符流的对象构造
//每次读取文件的一行
StringBuffer sb = new StringBuffer();
while(br.ready()){ //是否有读取内容
sb.append(br.readLine()); //读取一行
sb.append("\r\n"); //换行
}
br.close();
System.out.println(sb);
}catch(Exception ex){
ex.printStackTrace();
}
}
}
分享到:
相关推荐
2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
- **1.3 字符数据处理**:通过字符流处理文本数据,支持Unicode等多种字符集。 - **1.4 Reader和Writer类**:Reader和Writer是处理字符数据的主要接口,它们负责读取和写入字符数据。 - **1.5 IOException**:在进行...
在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...
- 字节流与字符流的转换 - 新潮的 NIO - 缓冲区(Buffer) - 通道(Channel) - 示例:文件拷贝案例 - BIO 和 NIO 拷贝文件的区别 - 操作系统的零拷贝 - 选择器(Selectors) - 选择键(SelectionKey) - ...
1. 字节流:Java的`java.io`包中提供了处理字节流的类,如`InputStream`和`OutputStream`作为所有字节输入流和输出流的基类。它们的子类如`FileInputStream`和`FileOutputStream`分别用于文件的读写。 2. 字符流:...
Java IO 包含了许多类,如InputStream、OutputStream、Reader、Writer等,它们分别用于处理字节流和字符流。字节流适用于二进制数据,而字符流适用于文本数据。Java IO 还包括Filter流,可以用来装饰其他流,添加...
Java IO系统分为两大类:字节流和字符流。字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 ...
IO流体系可以分为两大类:字节流和字符流。 字节流 字节流是最基本的IO流,用于读取和写入字节数据。它可以分为两大类:字节输入流和字节输出流。 * 字节输入流(InputStream):从外部来源(如磁盘、网络)读取...
Java IO库提供了丰富的类和接口来支持不同类型的流,包括字节流、字符流、对象流、缓冲流、转换流以及过滤流等。 字节流(Byte Stream)是处理原始二进制数据的流,分为输入流和输出流。InputStream和OutputStream...
### Java IO字符流和字节流详解 #### 一、引言 在Java编程中,输入输出(简称IO)操作是十分重要的一个方面。通过IO操作,我们可以读取文件、网络数据、用户输入等,也可以将数据写入到文件、网络、控制台等。Java...
本教程将详细介绍Java IO中的字节流、字符流、缓冲流以及转换流,并通过IODemo实例来展示它们的用法。 ### 1. 字节流 字节流是Java中最基础的流类型,用于处理以字节为单位的数据。字节流分为输入流(InputStream...
在Java IO流体系结构中,还有一类特殊的流,叫做转换流(InputStreamReader/OutputStreamWriter),它们位于字节流和字符流之间,负责将字节流转换为字符流,或者反之。 3. 链接流(PipedStream):允许线程间的...
Java提供了多种类型的流,分为字符流和字节流两大类。字符流处理单个字符,如Reader和Writer,而字节流处理单个字节,如InputStream和OutputStream。除此之外,还有缓冲流(BufferedInputStream/BufferedReader)、...
Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又可以进一步细分为输入流(InputStream/Reader)和输出流(OutputStream/Writer)...
### Java字符流和字节流详解 #### 一、引言 在Java中,I/O流主要用于处理输入输出操作,包括文件读写等。根据处理数据类型的不同,Java I/O流主要分为字节流和字符流两大类。字节流处理的是8位的字节数据,而字符流...
下面是对Java IO流的详细总结: 1. 流的概念: 流是一种抽象的数据传输方式,可以将数据从一个地方传输到另一个地方。Java中的流分为输入流和输出流,分别用于读取和写入数据。流按照处理数据的不同类型,又可以...
Java IO流体系结构分为四类:字节流(Byte Stream)、字符流(Character Stream)、对象流(Object Stream)和套接字流(Socket Stream)。字节流处理单个8位的字节,而字符流基于Unicode编码,处理16位的字符。对象...
Java中的IO流分为字节流和字符流两类。字节流处理的是字节数据,适用于所有类型的文件,包括非文本文件。缓冲流则提供了一种提高效率的方法,通过内存缓冲区来减少磁盘操作的次数,从而提高文件读写速度。 在本教程...
根据给定的信息,本文将详细解释Java中的字符流概念,特别是`FileReader`和`FileWriter`类的具体应用。字符流在处理包含大量文本数据,尤其是含有中文等多字节字符编码的文件时非常有用。 ### 1. 字符流简介 在...
File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...