java中的字符流(java io 字符流)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享java中的字符流的知识,其中也会对java io 字符流进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

java中的“流”是什么?

Java中的流是个抽象的概念,当程序需要从某个数据源读入数据的时候,就会开启一个数据流,数据源可以是文件、内存或网络等等。相反地,需要写出数据到某个数据源目的地的时候,也会开启一个数据流,这个数据源目的地也可以是文件、内存或网络等等\x0d\x0a\x0d\x0aJava中的流可以从不同的角度进行分类:\x0d\x0a按照流的方向不同:分为输入流和输出流。\x0d\x0a按照处理数据单位的不同:分为字节流(8位)和字符流(16位)。\x0d\x0a按照功能不同:分为节点流和处理流。\x0d\x0a节点流:是可以从一个特定的数据源(节点)读写数据的流(例如文件,内存)。就像是一条单一的管子接到水龙头上开始放水。\x0d\x0a处理流:是“连接”在已经存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。就像在已经接了一条管子(节点流)的基础上,又套上几个更粗,具有特殊功能的管子(处理流)对流出的水进一步的处理。\x0d\x0a四种基本流InputStream,OutputStream,Reader,Writer又分别有更具体的子类,分为文件流,缓冲流,数据流,转换流,Print流,Object流等,都分别有特定的功能或用来操作特定的数据

java字节流和字符流的区别?

Java 字符流和字节流的区别如下:

字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串。

而字节流处理单元为 1 个字节,操作字节和字节数组。

请采纳,谢谢

Java中有几种类型的流?

FileInputSream类

FileInputStream(String name)

FileInputStream(File file)

第一个构造方法是用给定的文件名name创建一个FileInputStream对象

第二个方法使用File对象创建FileInputStream对象

使用文件输入流读取文件

例如

FileInputStream istream=new FileInputStream(“myfile.dat”);

File f=new File(“myfile.dat”);

FileInputStream istream =new FileInputStream(f);

处理IO异常

Try{

FileInputStream istream=new FileInputStream(“myfile.dat”);

}

Catch(IOException e){}

从输入流中读取字节

Int read();从输入流中顺序读取源中的单个字节数据,返回字节值(0~255之间的一个整数),如果到达源的末尾,则返回-1

Read方法还可以吧多个字节读入到字节数组中:

Int read(byte b[]);

Int read(byte b[],int off,int len);

关闭流

使用close();

FileOutputStream类

该类提供了基本的文件写入能力,除了从OutputStream类继承来的方法外,FileOutputStream类还提供了两个构造方法:

FileOutputStream(String name)

FileOutputStream(File file)

第一个构造方法,给指定的文件名name创建一个FileOutputStreak对象

第二个构造方法,使用File对象创建FileOutputStream对象

可以使用write()方法把字节写入到输出流到达目的地

Write的格式:

Public void write(byte b[]) 其功能就是把b.length个字节到输出流

Public void write(byte b[],int off,int len)给定字节数组中,偏移off处写入len个字节到输出流

FileOutputStream流顺序的写文件,只要不关闭流,每次调用write方法就顺序地向输出流写入内容,直到流被关闭。

以上代码见hyh.io--File/Fileinputstream/Fileoutputsream

以上输入输出流容易出现的问题就是:汉字乱码

FileReader类和FileWriter类

与FileInputStream和FileOutputStream字节流相对应的是FileReader和FileWriter字符流,其分别是Reader和Writer的子类,构造方法如下:

FileReader(String filename)

FileWriter(String filename)

使用字节读取文件时,字节流不能直接操作Unicode字符,所以Java提供字符流。由于汉字在文件中占用了两个字节,如果使用字节流,读取不当会出现乱码现象,采用字符流就可以避免这个现象,因为在Unicode字符中,一个汉字被看做一个字符。

如果需要每次读取一行数据,FileReader类没有提供这样的方法,所以必须把这个流再接到另外一个流伤,从后面的流中读取一行数据。Java为其命名为BufferedReader类,构造方法:

BufferedReader(Reader in)

BufferedReader流能够读取文本行,方法是readLine()

通过向BufferedReader传递一个Reader对象,来创建一个BufferedReader对象,

FileReader inone=new FileReader(“Student.txt”);

BufferedReader intwo=BufferedReader(inone);

类似的可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地,

FileWriter tofile=new FileWriter(”hello.txt”);

BufferedWriter out=BufferedWriter(tofile)

然后out使用BufferedReader类的方法:

Write(String s,int off,int len)把字符串s写入到文件中,off是s开始处的偏移量,len是写入的字符数量

代码详情见hyh.javaio.FileReaderandWriter

代码总结:FileReader和FileWriter可以进行汉字的读取和写入

BufferedReader有读取行的功能,readLine()

RandomAccessFile类

RandomAccessFile类创建的流指向既可以作为源也可以作为目的地。换句话说,当想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流

构造方法:

RandomAccessFile(String name,String mode)参数name用来确定一个文件名,给出流的源。参数mode取r或者rw(只读或者读写),决定对文件的访问权限。

RandomAccessFile(File file,String mode)参数file是一个File对象,给出源,同时也是目的地。参数mode决定访问权限。

该类中有一个seek(long a)方法,用来定位RandomAccessFile流的读写位置。参数a确定读写位置距离文件开头的字节个数。

还可以调用getFilePointer()方法或者流当前的读写位置

类方法P280:

关闭文件

获取读写位置等。。。。。。。。

使用RandomAccessFile流实现一个通讯录的录入与显示系统

见RandomAccessFile

数据流P284

数组流P286

对象流P288

序列化与对象克隆P290

文件锁FileLockP293

Process类中的流P295

带进度条的输入流P298(这个是我自己整理的一部分的学习笔记,教材为Java2实用教程第三版(耿祥义编著),因为使用了word进行整理,首字母大写忘记取消和一些代码在myeclipse上,但是不妨碍你查看)

java中的字符流的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java io 字符流、java中的字符流的信息别忘了在本站进行查找喔。

发布于 2023-04-06 03:04:56
收藏
分享
海报
28
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了