目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStream 四丶文件的常见与删除 File类创建文件对象. 1.实例创建文件.获取文件信息 FileInputStream类以及OutputStream类的作用 总结 java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(inp…
1. Java流的分类 按流向分: 输入流: 能够从当中读入一个字节序列的对象称作输入流. 输出流: 能够向当中写入一个字节序列的对象称作输出流. 这些字节序列的来源地和目的地能够是文件,并且通常都是文件.可是也能够是网络连接,甚至是内存块.抽象类InputStream和OutputStream构成了输入和输出类层结构的基础. 按传输数据单位分: 字节流: 以字节为单位数据传输的流 字符流: 以字符为单位数据传输的流 按功能分: 节点流: 用于直接操作目标设备的流 过滤流: 是对一个已存在的流的…
不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输入流.输出流. 输入流和输出流 输入流做什么事: 将硬盘中的数据读出来,放到内存里去运算. 输出流做什么事:将内存中的数据,写到硬盘里去. 输入流和输出流相对于内存设备而言. 将外设中的数据读取到内存中:输入. 将内存的数写入到外设中:输出. 往内存里,就是输入流输入流做什么事: 将硬盘中的数据读出…
一:流的基本概念:           Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法.    数据流是 Java 进行 I/O 操作的对象,它按照不同的标准可以分为不同的类别. 按照流的方向主要分为输入流和输出流两大类.            (注:输入输出流是相对于计算…
1. 简单介绍 大家对基本数据类型都很熟悉.比如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性,比方基本类型不能调用方法.功能简单. ..,为了让基本数据类型也具备对象的特性, Java 为每一个基本数据类型都提供了一个包装类,这样我们就能够像操作对象那样来操作基本数据类型. 对象包装类是不变的,即一旦构造了包装类,就不同意更改包装在当中的值. 同一时候,对象包装类还是final,因此不能定义它们的子类. 如果想定义一个整型数组列表,而尖括号里的…
RandomAccessFile适用于大小已知的记录组成的文件.提供的对文件訪问.既能够读文件.也能够写文件,而且支持随机訪问文件.能够訪问文件的任何位置. 文件里记录的大小不一定都同样.仅仅要我们知道记录的大小和位置.可是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream继承层次结构中的一部分.除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),…
1. 构造方法 构造方法 描写叙述 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建一个新的文件实例. File(String parent , String child) 通过给定的父路径名字符串和子路径名字符串来创建一个新的文件实例. File(File parent , String child) 通过给定的父抽象路径对象和子路径名字符串来创建一个新的文件实例. File(URI uri) 通过给定的URI来创建一个新的文件实例 package c…
1. 对象序列化 当你创建对象时.仅仅要你须要.它会一直存在,可是程序终止时,不管何时它都不会继续存在.虽然这样做是很有意义的,可是在某些情况下.假设程序不执行时扔能存在而且保存其信息,那将对我们很实用.这样,在下次程序执行时,该对象将被重建而且拥有的信息与程序上次执行时它所拥有的信息同样. 当然,我们也能够通过将信息写入文件或者数据库,可是假设能将一个对象声明为是"持久性"的,并为我们处理掉全部的细节,这将会显得十分方便. Java的序列化是将那些实现了Serializable接口的…
1. 新建一个Javaproject.导入Jar包(log4j-1.2.17.jar) Jar包下载地址:点击打开链接 2. 配置文件:创建并设置log4j.properties # 设置 log4j.rootLogger = debug,stdout,D,E   # 输出信息到控制台 log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.a…
1. 简单介绍 注解(也被称为元数据),为我们在代码中加入信息提供了一种形式化的方法. 注解在一定程度上是把元数据与源码文件结合在一起,而不是保存在外部文档中这一大趋势之下所催生的. 它能够提供用来完整的描写叙述程序所需的信息.而这些信息是无法使用Java来表达的. 因此.注解使得我们能够以将编译器来測试和验证的格式.存储有关程序的额外信息.注解能够用来生成描写叙述符文件.甚至是新的类定义. 通过使用注解.我们能够将这些元数据保存在Java源码中,并利用Annotation API为自己的注解构…
FileInputStream/FileOutputStream的笔记: /**(FileInputStream/FileOutputStream四个步骤: ①声明②加载地址③read/write④close流) * FileInputStream fis * 1.public int read( byte[] b, int off, int len) throws IOException * //从fis流读取字符, 后两项规定存储位置(左闭右开);默认最多b.length字节的数据到字节数组…
JDK的安装与环境变量配置是JAVA开发之路的第一步,很多新人在这一步上就卡了很久,浪费了很多时间,甚至有些人就轻易地“从入门到放弃”了.今天我们就来一步步教你如何打倒这第一只拦路虎. 1.JDK下载 百度搜索jdk关键字,找到第一个英文的链接:     点进去后找到 JAVA SE 8u211,点击JDK下面的DOWNLOAD标志进入下一页. 注意这里,有很多人直接下载了最新版本的JAVA 12,实际上JAVA 12开始是收费的了,而且里面的绝大多数特性都是新手用不到的,JAVA 8已经完全够…
Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:…
本人小白,现对java开发做出以下总结,内容将从初级开始,逐步完善与摸索. 基础篇 网页篇 Android篇 高级建设篇 数据篇 系统篇…
本文内容: 什么是流 字节流 字符流 首发日期:2018-07-24 什么是流 流是个抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道. 输入流是相对程序而言的,外部传入数据给程序需要借助输入流. 输出流是相对程序而言的,程序把数据传输到外部需要借助输出流. 什么是字节流? 字节流--传输过程中,传输数据的最基本单位是字节的流. 什么是字符流? 字符流--传输过程中,传输数据的最基本单位是字符的流. 字符编码方式不同,有时候一个字符使用的字节数也不一样,…
目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流的父类. 表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序的字节序列读取. 这在从文件读取数据或通过网络接收时非常有用. InputStream 通常连接到某些数据源,如文件,网络连接,管道等 看如下代码片段: public class InputStreamExample { public static void main(String[] args)…
本文内容: 什么是流 字节流 字符流 首发日期:2018-07-24 什么是流 流是个抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道. 输入流是相对程序而言的,外部传入数据给程序需要借助输入流. 输出流是相对程序而言的,程序把数据传输到外部需要借助输出流. 什么是字节流? 字节流--传输过程中,传输数据的最基本单位是字节的流. 什么是字符流? 字符流--传输过程中,传输数据的最基本单位是字符的流. 字符编码方式不同,有时候一个字符使用的字节数也不一样,…
无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说,但Java开发的系统,我还是能您给插上几句话: JVMJEE容器中运行的JVM参数配置参数的正确使用直接关系到整个系统的性能和处理能力,JVM的调优主要是对内存管理方面的调优,优化的方向分为以下4点:1.HeapSize             堆的大小,也可以说Java虚拟机使用内存的策略,这点是…
package com.peidon.html; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net…
有些时候,开发者想把程序运行过程中的数据临时保存到文件,可是前面介绍的字符流和字节流,要么用来读写文本字符串,要么用来读写字节数组,并不能直接保存某个对象信息,因为对象里面包括成员属性和成员方法,单就属性而言,每个属性又有各自的数据类型及其具体数值,这些复杂的信息既不能通过字符串表达,也不能通过简单的字节数组表达.虽然现有手段不容易往文件中写入对象信息,但是该想法无疑极具吸引力,倘若能够自如地对文件读写某个对象数据,必定会给程序员的开发工作带来巨大便利,况且内存都能存放对象信息,为何磁盘反而无法…
文件输出流FileOutputStream跟FileWriter同样有个毛病,每次调用write方法都会直接写到磁盘,使得频繁的写操作性能极其低下.正如FileWriter搭上了缓存兄弟BufferedWriter那样,FileOutputStream也有自己的缓存兄弟BufferedOutputStream,这个缓存输出流的用法与缓存写入器非常相似,主要体现在如下三点:1.每次创建缓存输出流对象之前,都要先构建文件输出流对象,然后据此构建缓存输出流对象:2.它的write方法先把数据写到缓存,…
前面介绍了如何使用字符流读写文件,并指出字符流工具的处理局限,进而给出随机文件工具加以改进.随机文件工具除了支持访问文件内部的任意位置,更关键的一点是通过字节数组读写文件数据,采取字节方式比起字符方式有下列两个好处:1.文件长度以字节为单位计量,可以分配等长的字节数组,却无法分配合适长度的字符数组,因此采用字节方式便于从文件中读取数据.2.字符流工具主要以字符为单位处理数据,意味着它适合用来读写文本文件,不适用于二进制文件(包括图片文件.音频文件.视频文件等等),而字节方式不存在此类限制.虽说随…
前面介绍的文件I/O,不管是写入文本还是写入对象,文件中的数据基本是原来的模样,用记事本之类的文本编辑软件都能浏览个大概.这么存储数据,要说方便确实方便,只是不够经济划算,原因有二:其一,写入的数据可能存在大量重复的信息,但依原样写到文件的话,无疑保留了不少冗余数据,造成空间浪费:其二,写入的数据多以明文方式保存,容易产生信息泄露,安全性不高.为此Java提供了简单的压缩和解压工具,在将数据写入文件之前,先对数据进行压缩,再将压缩后的结果写到文件:同样读取压缩文件之时,先读出已压缩的数据,再将这…
转自:http://www.javabloger.com/java-development-concern-those-things/ 近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内幕与同行们分享,大到facebook,百度,小到刚起步的网站.facebook,百度之类的大型网站采用的技术和超凡的处理能力的确给人耳目一新的感觉,但并不是每个网站都是像facebook,百度 有上亿的用户访问流量,有海量的数据需要存储,需要使用到mapreduce/并行计算,HBase/列存储这些…
NIO不但引进了高效的文件通道,而且新增了更加好用的文件工具家族,包括路径组工具Paths.路径工具Path.文件组工具Files.先看路径组工具Paths,该工具提供了静态方法get,输入某个文件的路径字符串,输出该文件路径的路径对象Path.通过get方法获取路径对象的代码示例如下: // 根据指定的文件路径字符串获得对应的Path对象 Path path = Paths.get(mDirName); 有了Path对象之后,就能调用它的各种实例方法了,常见的几个方法说明如下:getParen…
前面介绍的各色流式IO在功能方面着实强大,处理文件的时候该具备的操作应有尽有,可流式IO在性能方面不尽如人意,它的设计原理使得实际运行效率偏低,为此从Java4开始增加了NIO技术,通过全新的架构体系带来了可观的性能提升.NIO是“Non-blocking IO”的缩写,意思是非阻塞的IO,与之相对应,传统的流式IO又被称作BIO(“Blocking IO”的缩写),意即阻塞的IO.所谓阻塞与非阻塞,说起来挺拗口,令人不知所云,这都是设计师脑袋短路惹的祸,发明了这么难懂的词汇,害得初学者一脸懵逼…
  近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内幕与同行们分享,大到facebook,百度,小到刚起步的网站.facebook,百度之类的大型网站采用的技术和超凡的处理能力的确给人耳目一新的感觉,但并不是每个网站都是像facebook,百度 有上亿的用户访问流量,有海量的数据需要存储,需要使用到mapreduce/并行计算,HBase/列存储这些技术不可.技术手段始终是运营的支撑,对于当前的运营环境适用就好,没有必要非要赶个时髦,一定要和某项流行的技术产生点关系才善罢甘休.…
所谓术业有专攻,一个程序单靠自身难以吃成大胖子,要想让程序变得血肉丰满,势必令其与外界多加交流,汲取天地之精华,方能练就盖世功夫.那么程序应当如何与外部网络进行通信呢?计算机网络的通信标准主要采取TCP/IP协议组,该协议组又可分为三个层次:网络层.传输层和应用层.其中网络层包括IP协议.ICMP协议.ARP协议等等,传输层包括包含TCP协议与UDP协议,而应用层拥有FTP.HTTP.TELNET.SMTP等协议.在应用程序的开发过程中,最常见的网络编程是HTTP协议的接口编码,Java为HTT…
前面介绍了GET方式的HTTP调用,该方式主要用于向服务器索取数据,不管是字符串形式的应答报文,还是二进制形式的网络文件,都属于服务器提供的信息.当然调用方也可以向服务地址传送请求参数,除了通过连接对象设置的HTTP参数,还能给url地址添加形如“?参数A名称=A参数值&参数B名称=B参数值”这样的业务参数,服务地址根据url后面的业务参数,再返回符合条件的应答数据.倘若服务器不仅仅作为信息提供方,还想成为信息接收方,例如保存调用方提交的表单数据,或者保存调用方待上传的文件,那便要求调用方的程序…
前面介绍了基于HttpURLConnection的网络访问请求,包括GET方式调用接口.POST方式调用接口.下载网络文件.上传本地文件这四种HTTP操作.虽然通过HttpURLConnection能够实现相应的业务功能,但是它的编码过程却有些繁琐,需要时时刻刻注意有关细节,一不留神便会掉到坑里.比如下列编码细节就经常令初学者头痛不已:1.HttpURLConnection工具独自一人承担了所有的方法实现,分不清哪些方法与请求有关,哪些方法与应答有关:2.HTTP调用的步骤太多,诸如参数设置.开…