针对不同的源或目的地,Java.io包为程序提供了相应的输入流或输出流这些输入、输出流大部分都是InputStream、OutputStream、Reader或Writer的子类
InputStream抽象类的子类创建的流对象称为字节输入流
OutputStream抽象类的子类创建的流对象称为字节输出流
Reader抽象类的子类创建的流对象称为字符输入流
Writer抽象类的子类创建的流对象称为字符输出流
InputStream 调用read方法就顺序的读取源中的其余内容
常用方法:
int read()
int read(byte b[])
int read(byte b[],int off,int len)
void close()
long skip(long numBytes)
OutputStream 调用write方法就顺序的向目的地写入内容
常用方法:
void write(int n)
void write(byte b[])
void write(byte b[],int off,int len)
void close()
Reader 提供read方法以字符为单位顺序读取源中数据
int read():
int read(char b[],int off,int len):
void close():
long skip(long numBytes):
Writer 调用write方法就顺序的向目的地写入内容
void write(int n):向输出流写入一个字符
void write(char b[]):向输出流写入一个字符数组
void write(char b[],int off,int len):
void close():
使用close()方法保证操作系统把缓冲区的内容写到目的地,即关闭输出流可以把该留所用的缓冲区的内容冲洗掉
文件字节输入、输出流构造方法:
FileInputStream(String name);
FileInputStream(File file);
FileOutputStream(String name)
FileOutputStream(File file)
字节输出输入
import java.io.*;
public class OutputStreamDemo {
public static void main(String args[]) throws IOException
{
//写入数据
File file=new File("d:"+File.separator+"demo.txt");
OutputStream out=new FileOutputStream(file,true);//在文件后追加
String str="hello world";
byte b[]=str.getBytes();
out.write(b);
out.close();
//读取数据
File file1=new File("d:"+File.separator+"demo.txt");
InputStream in=new FileInputStream(file1);
byte[] by=new byte[(int)file.length()];//根据文件大小开辟字节空间
in.read(by);
System.out.println(by.toString());
}
}
字符输入、输出流构造方法:
FileReader(String filename);
FileReader(File filename);
FileWriter(String filename);
FileWriter(File filename);
字符输出输入
import java.io.*;
public class WriterDemo {
public static void main(String args[]) throws IOException
{
//字符写入
File file=new File(“d:”+File.separator+“demo.txt”);
Writer writer=new FileWriter(file);
String str=“hello world!”;
writer.write(str);
writer.close();
//字符读取
File file1=new File(“d:”+File.separator+“demo.txt”);
Reader read=new FileReader(file1);
char[] ch=new char[(int)file1.length()];
read.read(ch, 0, (int) file1.length());
System.out.println(ch.toString());
read.close();
}
}
本文介绍了Java.IO包中的字节流和字符流,包括InputStream、OutputStream、Reader和Writer的子类。字节流用于处理二进制数据,如InputStream的read方法和OutputStream的write方法。字符流则处理字符数据,如Reader的read方法和Writer的write方法。示例代码展示了如何使用FileInputStream、FileOutputStream、FileReader和FileWriter进行文件的读写操作。
527

被折叠的 条评论
为什么被折叠?



