IO流 用来处理设备之间的数据传输,java对数据的操作是通过流的方式,java用于操作流的对象都在IO包中 按操作数据分为:字节流和字符流:按流向分为:输入流和输出流. 程序从输入流中读取数据,向输出流中写入数据. 字节流的抽象基类:Inputstream  和 OutputStream:字符流的抽象基类:Reader 和 Writer 其他流均是继承这4个抽象类而来的. 转换流 转换流也是一种包装流,其中OutputStreamWriter是Writer的子类,可以将一个字节流输出流包装成字…
File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File类操作文件或者目录之前,首先得创建一个File对象. 创建File对象 1.File f=new File("c:\\abc\a.txt");//将a.txt封装成FIle对象,可以将已有的和未出现的文件或者文件夹封装成对象. 2.File f=new File("c:\\abc…
字符流 Reader是字符输入流的基类,用于从某个源设备读取字符 Writer是字符输出流,用于向某个目标设备写入字符 字符流操作文件 字符输入流FileReader,通过此流可以从关联的文件中读取一个或一组字符. 在程序开发中,经常需要向文件中写入字符,可以使用Writer的一个子类FileReader. 需求:在硬盘上,创建一个文件,并写入一些文字数据. 用于操作操作文件的Writer的子类FileWriter,后缀名是父类名.前缀名是该流对象的功能. 操作步骤: 1.创建一个FileWri…
字节流 操作图片数据就要用到字节流. 字符流使用的是字符数组char[],字节流使用的是字节数组byte[]. 字节流读写文件 针对文件的读写,JDK专门提供了两个类,分别是FileInputStream和FileOutputStream. FileInputStream是InputStream的子类,它是操作文件的字节输入流,专门用于读取文件中的数据 FileOutputStream,它是OutputStream的子类,专门用于读取文件中的数据 如果是通过FileOutputStream向一个…
JAVA之旅(三十)--打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码 三十篇了,又是一个阳光明媚的周末,一个又一个的周末,周而复始,不断学习,前方的路你可曾看见?随我一起走进技术的世界,流连忘返吧! 一.打印流PrintWriter 打印流有PrintWriter和PrintStream,他的特点可以直接操作输入流还有文件 该流提供了打印方法,可以将各种数据类型原样打印 file对象…
转换流:字符流和字节流之间的桥梁 用于处理程序的编码问题 OutputStreamWriter类:字符转字节流 写文本文件: package demo; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Demo { public static void main(String[] args) throws IOException…
Java输入/输出流体系中常用的流分类(表内容来自java疯狂讲义) 注:下表中带下划线的是抽象类,不能创建对象.粗体部分是节点流,其他就是常用的处理流. 流分类 使用分类 字节输入流 字节输出流 字符输入流 字符输出流   抽象基类 InputStream OutputStream Reader Writer 节点流 访问文件 FileInputStream FileOutStream FileReader FileWriter 访问数值 ByteArrayInputStream ByteAr…
JSP技术 JSP概述 什么是JSP 在JSP全名是Java Server Page,它是建立在Servlet规范之上的动态网页开发技术. 在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示.为了与普通HTML有所区别,JSP文件的扩展名为 .jsp. 在jsp文件中Java代码必须包含在“<%”和“%>”之间 客户端通过表单将数据提交到action指定的目的地址.在这个目的地址指向的页面,需要将数据提取…
文件上传与下载 如何实现文件上传 在Web应用中,由于大多数文件的上传都是通过表单的形式提交给服务器的,因此,要想在程序中实现文件上传的功能,首先得创建一个用于提交上传文件的表单页面. 为了使Servlet程序可以获取到上传文件的数据,需要将表单页面的method属性设置为post方式,enctype属性设置为"multipart/form-data"类型,添加文件的input标签类型设置为file类型. 上传 客户端 form的enctype属性设置为multipart/form-d…
JSTL(JSP标准标签库) JSTL入门 JavaServer Pages Standard Tag Library:JSP标准标签库 在JSP中可以通过Java代码来获取信息,但是过多的Java代码会使JSP页面非常复杂.为此,Sun公司制定了一套标准标签库JSTL. 什么是JSTL 标准标签库.这个标签库是由5个不同功能的标签库共同组成 标签名                              URI                                         …
Servlet技术 Servlet开发入门 Servlet接口 针对Servlet技术的开发,SUN公司提供了一系列接口和类,其中最重要的是javax.servlet.Servlet接口. Servlet就是一种实现了Servlet接口的类,它是由web容器负责创建并调用,用于接收和响应用户的请求.并把处理结果返回到客户端显示,是运行在服务端一个小程序. Servlet的生命周期 Servlet的生命周期可分为三个阶段,具体如下: 初始化阶段 运行阶段 销毁阶段 当客户端向Servlet容器发出…
国际化 什么是国际化 指软件在开发时就应该具备支持多种语言和地区的功能,当应对不同国家和地区的用户访问,针对不同国家和地区的用户,提供相应的.符合来访者阅读习惯的页面和数据. 由于国际化internationalization这个单词的首字母"i"和尾字母"n"之间有18个字符,因此国际化被简称为i18n. 实现国际化的API Locale类 几乎所有对国际化的支持都需要依赖这个类 如何创建Locale实例对象 使用Locale类的构造方法 有三个重载的构造方法 p…
第一个python程序: Hello World程序 windows命令行中输入:python,进入python交互器,也可以称为解释器. print("Hello World!") windows中 新建文本文件:d:\helloworld.py,键入: print("Hello World!"), 命令行中运行:python d:\helloworld.py linux中 编辑helloworld.py: #!/user/bin/env python print…
第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print(“Hello World!”) >>>exit() 编辑文件helloworld.py 执行:python helloworld.py Linux:./helloworld.py   声明解释器:#!/usr/bin/env python  在环境变量中找python Chmod 755 helloworld.py…
list1 = set([1, 2, 3, 4, 5, 6, 5, 5, 5])list2 = set([11, 2, 36, 'a', 5, 6, 5, 5, 5])list3 = set([1, 2, 3])list4 = set(['a', 'b', 'c']) 求交集print(list1.intersection(list2))print(list1&list2)输出{2, 5, 6} 求并集print(list1.union(list2))print(list1 | list2)输出…
其他IO流 ObjectInputStream和ObjectOutputStream 如果希望永久将对象转为字节数据写入到硬盘上,即对象序列化,可以使用ObjectOutputStream(对象输出流)来实现. 当对象进行序列化时,必须保证该对象实现Serializable接口,否则程序会出现NotSerializableException异常 Person对象被序列化后会生成二进制数据保存在“objectStream.txt”文件中,通过这些二进制数据可以恢复序列化之前的Java对象,此过程称…
一.Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚.操作系统并非不能快速传送数据,让 Java 有事可做:相反,是 JVM 自身在 I/O 方面效率欠佳.操作系统与 Java 基于流的 I/O模型有些不匹配.操作系统要移动的是大块数据(缓冲区),这往往是在硬件直接存储器存取(DMA)的协助下完成的.而 JVM 的 I/O 操作类喜欢操作小块数据——单个字节.几行文本.结果,操作系统送来整缓冲区的数据,java.io 包的流数据类再花大量时间…
线程概述 在应用程序中,不同的程序块是可以同时运行的,这种多个程序块同时运行的现象被称作并发执行. 多线程可以使程序在同一时间内完成很多操作. 多线程就是指一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程 进程Process 在一个操作系统中,每个独立执行的程序都可称之为一个进程,也就是“正在运行的程序”. 线程Thread 一个程序至少有一个进程,一个进程至少有一个线程.进程在执行过程中拥有独立的内存单元 在java中一个正在执行的程序.程序运行中至少有两个线程在运行,一个是主函数…
EL表达式 初始EL EL是一种可以简化JSP页面的表达式,EL表达式的语法非常简单都是以"${"符号开始,以"}"符号结束的 EL表达式是一种简单的数据"访问"语言,只能读,不能写.需要写在JSP页面上 EL能实现对pageContext对象.session对象.request对象等存储对象的简化访问,能够简洁地访问请求参数.Cookie和其他请求数据,即EL可以很方便地访问大多数JSP内置的隐含对象,从而简化编程. EL还可以简化对JavaB…
DBUtils工具 API介绍 为了更加简单地使用JDBC,Apache组织提供了一个工具类库commons-dbutils组件. 该组件实现了对JDBC的简单封装,可以在不影响性能的情况下极大简化JDBC的编码工作量. commons-dbutils的核心是两个类和一个接口:DBUtils类.QueryRunner类.ResultSetHandler接口 DBUtils类 主要为如关闭连接.装载JDBC驱动程序之类的常规工作提供方法,它提供的方法都是静态方法     close()      …
JDBC 概述 什么是JDBC JDBC全称是Java数据库连接(Java Database Connectivity),应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询.更新和删除等操作.是一套用于执行SQL语句的Java API. Java的数据库连接接口.它是Java API中的一部分,通过它可以将Java程序和关系数据库集成在一起. 应用程序通过调用JDBC来操作数据库的过程,其实是由数据库厂商提供的JDBC驱动程序来负责的.如果要更换数据库,只要更换…
XML基础 XML概述 W3C组织简介 W3C是World Wide Web Consortium(万维网联盟)的缩写,它是对网络标准定制的一个非赢利组织,如HTML.XHTML.CSS.XML的标准就是由W3C来定制. 由W3C正式发布的标准称为W3C推荐标准. 什么是XML 是EXtensible Markup Language的缩写,它是一种类似于HTML的标记语言,称为可扩展标记语言,传输数据而不是显示数据,可以自定义标签,具有自我描述性 是一种通用的数据交换格式,可以使数据在各种应用程…
网络编程 概述 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈. 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server). 网络通信协议 连接和通信的规则被称为网络通信协议,它对数据的传输格式.传输速率.传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换. IP地址和端口号 IP地址:InetAddress         网络中设备的标识  …
自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于开发自定义标签的接口和类,它们都位于javax.servlet.jsp.tagext包中 JSP自定义标签是用户定义的JSP语言元素,可以看成是一种通过标签处理器生成基于XML脚本的方法. 自定义标签在功能上和逻辑上都与JavaBean类似,都是一组可重用的组件代码.相较于JavaBean,自定义标…
Map(映射)接口 简介 该集合存储键值对,一对一对的往里存,并且键是唯一的.要保证map集合中键的唯一性. 从Map集合中访问元素时,只要指定了Key,就能找到对应的Value. 关键字是以后用于检索值的对象. 常见操作 1.添加 put(key,value):  当存储的键相同时,新的值会替换老的值,并将老值返回.如果键没有重复,返回null. void putAll(Map); 2.删除 void clear():             清空 value remove(key) :删除指…
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速度很快. 看到link就是链表结构:增删速度快,而且有特有方法.addFirst: addLast:removeFirst(): removeLast(): getFirst():getLast(): 看到hash就是哈希表,就要想到哈希值,就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖ha…
String类 String类的初始化 String是一个特殊的对象,一旦被初始化,就不会被改变 1.使用字符串常量直接初始化一个String对象 String  s1="abc"; //s1是一个类类型变量,“abc”是一个对象. 2.使用String的构造方法初始化字符串对象 String  s2=new String("abc"); s1和s2的区别: s1在字符串常量池中创建了一个abc字符串 s2在堆中创建了两个对象一个是默认对象一个是字符串对象. ==和…
包 包的定义与使用 专门用来存放类的,通常功能相同的类存放在相同的包中. 包的声明只能位于Java源文件的第一行 Java语言中的常用包 java.lang:包含Java语言的核心类,如String.Math.System和Thread类等,使用这个包中的类无须使用import语句导入,系统会自动导入这个包下的所有类. java.util:包含Java中大量工具类.集合类等,例如Arrays.List.Set等. java.net:包含Java网络编程相关的类和接口. java.io:包含了Ja…
Java的基本语法 Java代码的基本格式 修饰符 class 类名 {   程序代码 } 一个Java源文件只定义一个类,不同的类使用不同的源文件定义:将每个源文件中单独定义的类都定义成public的:保持Java源文件的主文件名与源文件中的类名一致. Java中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能. 代码都定义在类中,类由class来定义,代码严格区分大小写,Java程序中一句连续的字符串不能分开在两行中书写. m…
正则表达式---常用符号 首先声明,我这里列表的是经常使用的一些符号,如果你想得到全部,那建议你通过API中,搜索Pattern类,会得到所有符号. 字符类 [abc] a.b 或 c(简单类) [^abc] 任何字符,除了 a.b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) [a-z&&[def]] d.e 或 f(交集) [a-z&&[^bc]] a…