Android-字节流-字符流

本文介绍了Java.IO包中的字节流和字符流,包括InputStream、OutputStream、Reader和Writer的子类。字节流用于处理二进制数据,如InputStream的read方法和OutputStream的write方法。字符流则处理字符数据,如Reader的read方法和Writer的write方法。示例代码展示了如何使用FileInputStream、FileOutputStream、FileReader和FileWriter进行文件的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对不同的源或目的地,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();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值