大学本科 java教材,大学本科自学java之路——IO

大学本科自学java之路——IO

大学本科自学java之路——IO

我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习

一. 字节缓冲流的构造方法:

BufferedOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。

BufferedOutputStream:为另一个输入流添加了功能,即缓冲输入并支持mark和reset方法的功能。 创建BufferedInputStream将创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节。 mark操作会记住输入流中的一个点,并且reset操作会导致从最近的mark操作读取的所有字节在从包含的输入流中取出新字节之前重新读取。

代码演练:

public class BufferStreamDemo {

public static void main(String[] args) throws IOException {

//字节缓冲输出流:BufferedOutputStream?(OutputStream out)

//使用方法一:先定义fos,再求bos访问绝对路径(访问相对路径出现把绝对路径d:\\xxx.txt 改成相对路径 ,且写的文件名不能为一个文件夹,改为 d:/java/xxx.txt(java是已存在的文件夹)

FileOutputStream fos=new FileOutputStream("E:\\itcast\\whj.txt");

BufferedOutputStream bos=new BufferedOutputStream(fos);

//方法二:直接定义

// BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("myByteStream\\whj.txt"));

bos.write("hello\r\n".getBytes());

bos.write("world\r\n".getBytes());

//释放资源

bos.close();

}

}

结果·展示:

47eeb5d3522199a5aa59ec1b3b71a5c8.png

BufferedinputStream使用第一种方法:

BufferedInputStream bis=new BufferedInputStream(new FileInputStream("E:\\itcast\\whj.txt"));

// 一次读一个字节数组

int by;

while((by=bis.read())!=-1){

// 错误原因:自动换行

// System.out.println((char)by);

System.out.print((char)by);

}

// 释放资源

bis.close();

输出结果:

274db56d1731c2342748ba07de680b90.png

BufferedinputStream使用第二种方法:

BufferedInputStream bis=new BufferedInputStream(new FileInputStream("E:\\itcast\\whj.txt"));

// 一次读一个字节数组

/* int by;

while((by=bis.read())!=-1){

// 错误原因:自动换行

// System.out.println((char)by);

System.out.print((char)by);

}*/

byte[] bys=new byte[1024];

int len;

while((len=bis.read(bys))!=-1){

System.out.println(new String(bys,0,len));

}

// 释放资源

bis.close();

}

输出结果:

ade0061a114c3c71d55b5e1c2eba3745.png

注意:字节缓冲流只提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作

大学本科自学java之路——IO相关教程

USYD悉尼大学INFO1110 详细作业解析Week4 revision

USYD悉尼大学INFO1110 详细作业解析Week4 revision Week4 Revision 前言 Zig Zag(待更新讲解) Harder Idioms - Extension(待更新) Triangle Palindrome(待更新) Palindrome - Extension(待更新) File Reading(待更新) File Filter(待更新) 反正也

第十七届中国计量大学程序设计竞赛(同步赛)I Isolated Pointse

第十七届中国计量大学程序设计竞赛(同步赛)I Isolated Pointset On a two-dimensional plane, YHH has a series of isolated points named PointSet, which contains N points in it. YHH would like to know if there is a way to draw a vertical bisecto

爬取中国大学排名

爬取中国大学排名 下面展示 代码 爬取上海交通大学软科中国大学排名 import requestsfrom bs4 import BeautifulSoupif __name__ == __main__: destinationPath = html信息.txt allUniv = [] # headers={'User-Agent':'Mozilla/5.0'} url= 'http://www.shangha

青年大学习分类收集截屏小程序

青年大学习分类收集截屏小程序 青年大学习简易打包小程序 收取截屏图片的难受 士可忍,我不能忍 Matlab 一键分类青年大学习截屏 不当组织委员不知道,收集每个人的青年大学习的截屏,并存入每个人的文件夹是多么浪费时间的事。那话说收青大截屏分几个步骤: 同

从工科专业到计算机专业在大学学的编程都给我带来了什么

从工科专业到计算机专业,在大学学的编程,都给我带来了什么? 前言 写这篇文章的主要的原因是什么呢?主要是想到了自己是怎么从一个工科专业然后转行来做到计算机专业,这中间的酸甜苦辣,人间疾苦想分享给大家,以及学习了编程之后我的世界观、价值观的变

Java自学笔记(一)Java语言的特性及、JDK环境搭建、Eclipse环境

Java自学笔记(一)Java语言的特性及、JDK环境搭建、Eclipse环境搭建 计划成为一名JAVA后端开发工程师 !为此努力! 第一阶段的学习是JAVA语言的入门学习,以下是 使用到的资料 : 使用教材:《Java从入门到精通》清华大学出版社 视频网课:1)Java入门基础(

哈尔滨工业大学雨课堂(学堂在线)自动观看mooc

哈尔滨工业大学雨课堂(学堂在线)自动观看mooc GitHub地址:https://github.com/xrervip/AutoYuketangforHIT 代码基于 https://github.com/lingyan12/yuketang 和https://github.com/xrervip/HIT_auto_report/blob/master/HIT_auto_report.py 进行修改 使用

java零基础自学第一天①常用dos命令及环境变量配置常量数据类型

java零基础自学第一天①,常用dos命令及环境变量配置,常量,数据类型,变量,标识符及命名约定,数据类型转化 java自学第一天,dos常用命令及java环境变量配置 一:常用dos命令 win + r, cmd回车 键盘上下按键可切换使用过的命令。 二: 环境变量重启后,无

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于比较器Comparator排序时间的问题

​ 最近涉及一个需要按照时间排序的问题,由于在数据库层面order by太麻烦,所以就准备在代码层面解决,但是过程中遇到了一个很有意思的问题。 ​ 先介绍一下用的比较器的api: o1大于o2,则返回正数;o1等于o2,则返回0&…

Error running ‘transmission‘: Unable to open debugger port (127.0.0.1:52469): java.net.SocketExcepti

IDEA运行tomcat启动项目时报错。 开始还以为是这里的端口被占用的问题 然而实际上是tomcat的JMX端口的问题,将端口修改一下,就可以完美启动。 修改之后即可启动项目

synchronized 锁升级过程

synchronized 锁升级过程就是其优化的核心:偏向锁 -> 轻量级锁 -> 重量级锁 class Test{private static final Object object new Object(); public void test(){synchronized(object) {// do something } }}每个对象创建时都有各自的对象头&#…

java中数组遍历的三种方式

1.for循环遍历 通常遍历数组都是使用for循环来实现。遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。 2.Arrays工具类中toString静态方法遍历 利用Arrays工具类中的toString静态方法可以将一维数组转化为…

mysql中union 查询

mysql中union 查询 UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的…

oracle内存表与临时表,Oracle 临时表之临时表空间组(TTG)

环境:sysORCL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE 10.2.0.1.0 Producti…

修改TOMCAT的JVM虚拟机内存大小几种方式

修改TOMCAT的JVM虚拟机内存大小几种方式 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。 经常会出现Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出的错误。 对此有以下几种方法可以选…

HashMap原理深入理解

hashing(哈希法)的概念 散列法(Hashing)是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快&#…

HashMap的底层原理

一&#xff1a;HashMap的节点&#xff1a;HashMap是一个集合&#xff0c;键值对的集合,源码中每个节点用Node<K,V>表示 static class Node<K,V> implements Map.Entry<K,V> {final int hash;final K key;V value;Node<K,V> next;Node是一个内部类&…

hashMap 底层原理+LinkedHashMap 底层原理+常见面试题

1.源码 java1.7 hashMap 底层实现是数组链表 java1.8 对上面进行优化 数组链表红黑树 2.hashmap 是怎么保存数据的。 在hashmap 中有这样一个结构 Node implenets Map.entity{hashkeyvaluenext} 当我们向hashMap 中放入数据时&#xff0c;其实就是一个 Enity{keyvaue}在存之…

linux时间跳变影响,MONGO 集群 修改linux主机时间后的影响

生产环境是一主一从一仲裁3分片的集群&#xff0c;现在发现其中一个节点比当前时间大了好几天&#xff0c;后使用NTP将时间往回调整副本集上。原来时间是5月3日&#xff0c;当前是4月26日&#xff0c;对此进行了调整。[rootcwdtest1 bin]# dateFri May 3 13:20:31 CST 2019[ro…

xp下添加linux启动项,grub.cfg--XP+ Ubuntu10.04双系统安装后无XP启动项

问题描述&#xff1a;Ubuntu 10.04发布了&#xff0c;随即裸机安装了Windows XP &#xff0c;然后用U盘启动盘安装了Ubuntu 10.04,安装速度飞快(不到10分钟吧)&#xff0c;但是装上后发现在grub启动项里没有XP&#xff0c;郁闷了&#xff0c;花了几分钟终于解决了&#xff0c;呵…

HashMap 源码详细分析(JDK1.8)

1. 概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 - HashMap。HashMap 最早出现在 JDK 1.2中&#xff0c;底层基于散列算法实现。HashMap 允许 null 键和 null 值&#xff0c;在计算哈键的哈希值时&#xff0c;null 键哈希值为 0。HashMap 并不保证键值对的顺序&…

@Autowired注解能用在static属性吗?autowired注入static属性上为null

Autowired注解能用在static属性吗&#xff1f; 答案是否定的&#xff0c;我们来测试下&#xff1a; 日志信息已经很明确了&#xff0c;表示static不能被Autowired进行复制。为什么呢&#xff1f;我们现在就来一起了解其原因。 首先将我们的测试环境搭建好&#xff0c; Use…

Swagger介绍及使用

导语&#xff1a; 相信无论是前端还是后端开发&#xff0c;都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力&#xff0c;经常来不及更新。其实无论是前端调用后端&#xff0c;还是后端调用后端&…

接口文档生成工具Swagger2的使用

一、什么是Swagger Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法&#xff0c;参数和模型紧密集成到服务器端的代码&#xff0c;允许API来始终保…

Netty详解

一&#xff0e;Netty介绍 1.什么是netty Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架&#xff0c;用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架&#xff0c;Netty 在互联网领域、大数据分布式计算…

有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include /* malloc()等 */#include#include#include /* exit() */#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status; /* Status是函数的类型,其值是函数结果状态代码&…

详解 Java NIO

详解 Java NIO 文件的抽象化表示&#xff0c;字节流以及字符流的文件操作等属于传统 IO 的相关内容&#xff0c;我们已经在前面的文章进行了较为深刻的学习了。 但是传统的 IO 流还是有很多缺陷的&#xff0c;尤其它的阻塞性加上磁盘读写本来就慢&#xff0c;会导致 CPU 使用…

电气工程及其自动化学不学c语言,电气工程及其自动化学什么 就业方向有哪些...

电气工程及其自动化学什么 就业方向有哪些2019-05-05 11:16:29文/刘美娟电气工程及其自动化专业是电气信息领域的一门新兴学科&#xff0c;触角伸向各行各业&#xff0c;小到一个开关的设计&#xff0c;大到宇航飞机的研究&#xff0c;都有它的身影。由于和人们的日常生活以及工…