当前位置: 首页 > news >正文

东莞网站高端建设在线设计免费logo

东莞网站高端建设,在线设计免费logo,安徽省城乡建设信息网,开发网站要注意什么Java知识点总结:想看的可以从这里进入 目录5、打印流6、转换流7、数据流8、随机访问流5、打印流 实现将基本数据类型的数据格式转化为字符串输出,它们提供了一系列重载的print()和println()方法,用于多种数据类型的输出,这种流不会…

Java知识点总结:想看的可以从这里进入

目录

    • 5、打印流
    • 6、转换流
    • 7、数据流
    • 8、随机访问流

5、打印流


实现将基本数据类型的数据格式转化为字符串输出,它们提供了一系列重载的print()和println()方法,用于多种数据类型的输出,这种流不会出现IOException异常。

  • PrintWriter:在Java的IO流中提供了字符输出的类PrintWriter,它具有自动刷新缓冲字符输出流,按行写出字符串,提供println()方法用于自动换行。

    PrintWriter fw = new PrintWriter(file);
    
  • PrintStream:在Java的IO流中提供了字节输出的类PrintStream,它打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter 类。

    System.out返回的是PrintStream的实例

    PrintStream printStream = new PrintStream(file);
    
public class Io {public static void main(String[] args) throws Exception{//创建文件对象File file1 = new File("d:/mydata/a.txt");File file2 = new File("d:/mydata/acopy.txt");try (FileReader fr = new FileReader(file1);BufferedReader in = new BufferedReader(fr);PrintWriter fw = new PrintWriter(file2);	//字符输出流){String line;//一次读取一行,读到换行时结束while((line=in.readLine())!=null){fw.println(line);			//println直接换行,这种比使用文件字符流、缓冲字符流更方便}} catch (Exception e) {e.printStackTrace();}}
}

6、转换流


在Java中提供了将字节流转换成字符流的转换流,InputStreamReaderOutputStreamWriter。流在转换后,读取数据时会存在编码的问题。

计算机上显示的信息在计算机都是以二进制形式保存的,所以必须按照一定的规则将二进制数据解析并显示,如果规则不正确则会导致乱码问题。字符集 Charset:是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。常见的字符集有ASCII、GBK、Unicode(常用的为UTF-8)等。

常见的编码表

ASCII:美国标准信息交换码。用一个字节的7位可以表示。

ISO8859-1:拉丁码表。欧洲码表用一个字节的8位表示。

GB2312:中国的中文编码表。最多两个字节编码所有字符

GBK:中国的中文编码表升级,融合了更多的中文文字符号。最多两个字节编码

Unicode:国际标准码,融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。所有的文字都用两个字节来表示。

UTF-8:变长的编码方式,可用1-4个字节来表示一个字符。

在接收键盘输入System.in时,就是使用的转换流,将字节转换成字符流,再使用BufferedReader

  1. InputStreamReader:将InputStream转换为Reader
  2. OutputStreamWriter:将Writer转换为OutputStream
FileInputStream fis = new FileInputStream(file1);	//文件字节流
InputStreamReader is = new InputStreamReader(fis,"utf-8"); //将字节流转为字符流
BufferedReader in = new BufferedReader(is);        //再使用缓冲流FileOutputStream fos = new FileOutputStream(file2);
OutputStreamWriter os = new OutputStreamWriter(fos,"utf-8");
BufferedWriter out = new BufferedWriter(os);

7、数据流


数据流(DataInputStream、DataOutputStream)专门用来操作基本数据类型,上述的字符流和字节流不能直接操作像long,float,double,boolean这些数据类型,而数据流对八种基本数据类型都可以操作。

数据流本身也属于一种字节流,属于处理流,写入的是二进制,通过对应输出流输出所需数据。

FileInputStream fis = new FileInputStream(file1);
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream in = new DataInputStream(bis);	//数据流FileOutputStream fos = new FileOutputStream(file2);
BufferedOutputStream bos = new BufferedOutputStream(fos);
DataOutputStream out = new DataOutputStream(bos);		//数据流

DataOutputStream提供的一些对应数据类型的方法

image-20210302211827571

DataInputStream提供的读取方法,读取的类型要一致,写入的顺序和读取的顺序一致

image-20210302212332238

8、随机访问流


RandomAccessFile 声明在java.io包下,直接继承于java.lang.Object类,它实现了DataInput、DataOutput这两个接口,所以它同时拥有读写的功能。

它采用随机访问,程序可以直接跳到文件的任意地方来读、写文件,它内部采用一个指针来记录当前读取的位置,而RandomAccessFile之所以可以随机访问,就是因为能自由的移动该指针。

  • ong getFilePointer():获取指针的当前位置
  • void seek(long pos):将指针移动到指定的位置
//构造方法,其中mode 参数指定了RandomAccessFile 的访问模式:
//1、r: 以只读方式打开,不会创建文件
//2、rw:打开以便读取和写入,如果文件不存在会创建文件
//3、rwd:打开以便读取和写入;同步文件内容的更新
//4、rws:打开以便读取和写入;同步文件内容和元数据的更新
public RandomAccessFile(String name, String mode)throws FileNotFoundException{this(name != null ? new File(name) : null, mode);
}
public RandomAccessFile(File file, String mode)throws FileNotFoundException{this(file, mode, false);
}

其实这个类通常用来下载,我们在下载时,会创建两个文件,一个文件是与被下载文件大小相同的空文件,另一个文件用来记录指针的位置,如果这次下载暂停后,下次继续下载时可以通过记录的指针位置继续上次的下载。

http://www.yayakq.cn/news/497990/

相关文章:

  • 河南住房和城乡建设厅门户网站asp.net网站后台源码
  • 刷网站排名怎么刷做国外lead应该做什么网站
  • 舜元建设 集团 有限公司网站wordpress 动静
  • 播放视频网站怎么做宁波网络推广培训
  • 全国医院的网站建设线上销售培训机构
  • 平台网站建设合同沈阳好的网站
  • 正定网站设计公司网站建设html模板下载
  • 网站策划怎么做内容垣宝建设工程集团网站
  • 建网站带宽多少合适昆明网站建设一条龙
  • 外包做网站一般多少钱深圳燃气公司有哪几家
  • 织梦网站安装照片查询百度图片搜索
  • 做财经类网站要许可吗佛山设计公司排名
  • 响应式网站建设流程怎么做棋牌网站
  • django电影网站开发产品网络推广方法
  • 广州住房和建设局网站官网app有哪些推广方式
  • 在自己的网站做百度搜索框网络建设公司名称
  • 装修公司网站 源码建筑行业
  • 视频网站备案免费下载应用软件
  • 石家庄做网站哪家公司好网站统计关键词
  • 笔记本做网站服务器免费建网站抚顺
  • 青岛西海岸新区城市建设局网站wordpress iis6伪静态
  • 哈尔滨怎样快速建站手机端网站设计
  • 内蒙古工程建设网站永久免费的仓库
  • 广州番禺哪个公司建网站比较好网站开发接私单
  • 富阳网站建设 优帮云国外最开放的浏览器是哪个
  • 粉色做网站背景图片wordpress多域名
  • 免费做app网站有哪些开个微网站需要什么
  • 深圳定制网站制作厂家宁波seo外包代运营
  • 网站建设选择服务器陕西网站建设培训
  • 建设网站企业网上银行天津建站管理系统价格