java输入输出及文件_(java基础)Java输入输出流及文件相关

本文介绍了Java中的字节流和字符流,字节流由InputStream和OutputStream为基础,适用于二进制数据,如图像和声音。字符流基于Reader和Writer,用于处理文本数据。FileInputStream和FileOutputStream用于文件的读写。字符流通过InputStreamReader和OutputStreamWriter与字节流适配。此外,文章还提及了File类的方法,如创建目录。示例代码展示了如何将对象写入内存和从URL读取HTML文件,强调了字节流和字符流的使用场景。
摘要由CSDN通过智能技术生成

字节流:

所有的字节输入输出都继承自InputStream和OutputStream,通常用于读取二进制数据,最基本单位为单个字节,如图像和声音。默认不使用缓冲区。

d2a5f1f27b3a1e1ed2753c4c71e99606.png

4c912b868a9da705a36e32f4e29863b7.png

FileInputStream和FileOutputStream:用于对磁盘文件涉及的数据流进行输入输出处理,即向一个文件对象中写入数据,可以用文件名作为直接参数。

构造FileOutputStream对象时,对应的文件必须存在并且可读的,而构造FileOutputStream对象时,如输出文件已存在,则必须是可覆盖的。

字符流:

所有的字符输入输出都继承自Reader和Writer。java中的字符流处理的最基本的单元是Unicode码元(2字节),通常用于处理文本数据。默认使用缓冲区。

代码应用举例:

package Main;

import java.io.*;

public class Java_1 {

public static void main(String[] args) {

FileWriter f1 = null;

try {

f1 = new FileWriter("d:/test.txt");

f1.write("test success!");

//f1.flush(); 用于将缓存区内容输出

f1.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}

注意:InputStream、OutputStream和Reader、Writer都属于抽象类,不能创建这种类型的对象。

有时需要把字符处理类和字节处理类结合起来,这就需要用到适配器类:

InputStreamReader:将InputStream转换为Reader

OutputStreamWriter:将OutputStream转换为Writer

代码应用举例:

packageMain;import java.io.*;public classJava_1{public static voidmain(String[] args) {try{

FileInputStream f1= new FileInputStream("d:/test1.txt");try{

InputStreamReader f2= new InputStreamReader(f1,"utf8");inti;while((i=f2.read())!=-1){

System.out.println((char)i);//可以输出test1.txt文件中的中文字符

}

}catch(Exception e) {

e.printStackTrace();

}

}catch(FileNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

File类:

java.io包中File类是非流类

提供的方法有

mkdir():创建目录

mkdirs():创建父目录

例题:

题目:

ByteArrayOutputStream f1 = newByteArrayOutputStream();try{

ObjectOutputStream out= newObjectOutputStream(f1);

out.writeObject(this); //this在这里不做定义,不影响问题结果

out.close();

}catch(IOException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

阅读代码段,请问代码段的作用是什么:

A. 将对象写入内存

B. 将对象写入硬盘

C. 将对象写入光盘

D. 将对象写入文件

正确答案为A

下列java语句从指定网址读取html文件,在下划线处应填写的选项为_.

Reader in = new __________(new URL(urlString).openStream());

A. Reader

B. DataOutputStream

C. ByteArrayInputStream

D. InputStreamReader

正确选项:D

当输入一个字节流时,要 ( )

A.实现DataInput接口

B.实现ObjectInput接口

C.Serializable接口

D.继承Reader抽象类

正确选项:A

show-13678.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值