自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

转载 TCP上传图片

/*TCP上传图片,单线程。*/import java.io.*;import java.net.*;class PicClient{ public static void main(String[] args) throws Exception { Socket s = new Socket(InetAddress.getLocalHost(),1000); O

2017-04-29 18:33:33 324

转载 TCP单线程上传文件

import java.io.*;import java.net.*;class PicClient{ public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1",1000); FileInputStream fis = new FileInputStr

2017-04-28 16:21:17 414

转载 TCP关于键盘输入及缓冲区问题

本代码演示了使用缓冲区技术接收键盘输入时的问题,并做了相应的处理。/*需求:建立一个文本转换服务器客户端给服务端发送文本,服务端会将文件转换成大写在返回给客户端。客户端可以不断的进行文本转换,当客户端输入 over 时,转换结束。分析:客户端:既然是操作设备上的数据,那么就可以使用io技术,并按照Io的操作规律来思考.源:键盘录入目的:网络设备,网络输出流而且操作的是文本数

2017-04-26 12:07:31 870

转载 TCPServer与Client的通信代码

/*演示tcp的传输的客户端和服务端的互访需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息。*//*客户端:1:建立socket服务,指定要连接的主机和端口2:获取socket流中的输出流,将数据写到流中,通过网络发送给服务端。3:获取socket流中的输入流,将服务端反馈的数据获取到,并打印4:关闭客户端资源。*/import java.net.*;impo

2017-04-25 16:46:35 950

转载 TCP演示

/*TCP:分客户端和服务端客户端对应的对象是 Socket服务端对应的对象是ServerSocekt*//*客户端通过查阅socket对象,发现在该对象建立时,就可以去接连指定主机因为tcp是面向连接的,所在建立socket服务时,就要有服务端存在,并连接成功,形成通路后,在该通道进行数据传输。步骤:1:创建socket服务,并指定要连接的主机和端口*/imp

2017-04-25 16:11:38 361

转载 network 多线程聊天

/*多线程聊天工具有收数据的部分,和发数据的部分。这两部分需要时执行。那就需要用到多线程技术。一个线程控制收,一个线程控制发。因为收和发动作是不一至的,所以要定义两个run方法。而且这两个方法要封装到不同的类中。*/package com;import java.net.*;import java.io.*;class Send implements Runnable

2017-04-25 13:34:02 320

转载 合并文件 SequenceInputStream

/*SequenceInputStream:将多读取流合并成一个读取流将多个文件合并成一个文件*/import java.io.*;import java.util.*;class SequenceDemo{ public static void main(String[] args) throws IOException { Vector v = new Vector(

2017-04-20 14:43:39 321

转载 Properties的使用

/*Properties 类表示了一个持久的属性集,是hashtable的子类也就是说它具备Map集合的特点为,而且它里面存储的键值对都是字符串是集合中和io技术相合的集合容器该对象的特点,可以用键值对形式的配置文件那么在加载数据时,需要数据固定格式:键=值。*/import java.util.*;import java.io.*;class PropertiesDem

2017-04-19 17:06:25 370

转载 FILE建立指定后缀名的文件列表

/*将一个指定目录下的java文件的绝对路径存储到一个文本文件中建立一个java文件列表文件思路:1:对指定的目录进行递归。2:获取递归过程的java文件的路径3:将这些路径存储到集合中4:将集合中的数据写入到一个文件中*/import java.io.*;import java.util.*;class JavaFileList{ private static

2017-04-19 15:49:36 1459

转载 FILE删除目录

/*删除一个带内容的目录删除原理:在windows中,删除目录从里面往外删除的即然是从里往外删除,就需要用到递归*/import java.io.*;class RemoveDir{ public static void main(String[] args) { removeDir(new File("E:\\CODE\\ABC\\runtime\\test"))

2017-04-19 14:54:19 325

转载 FILE事例_1

/*File类常见方法:1:创建 boolean createNewFile(); 在指定的位置创建文件,如果该文件已经存在,则不创建,返回false; boolean mkdir(); 创建文件夹,只能创建一级目录 boolean mkdirs(); 创建多级文件夹。2:删除 boolean delete(); //删除文件 boolean deleteOnExit(); //退

2017-04-19 09:42:02 240

转载 设计模式:装饰模式的原理及代码演示

/*MyReader //专门用于读取数据的类。 |--MyTextReader |--MyBufferedTextReader //缓冲区的 |--MyMediaReader |--MyBufferedMediaReader//缓冲区的 |--MyDataReader |--MyBufferDataReader//缓冲区的 上面的这个类扩展性很差 找到其参数的共同类型,

2017-04-17 15:34:49 628

转载 设计模式:装饰模式

/*自己写的读取行*/import java.io.*;/*装饰设计模式: 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入。 基于已有的功能,并提供加强功能。 那么定义的该类称为装饰类。 如下面的:MyBufferedReader 对 FileReader 类的 read 方法进行了 功能加强。 装饰类通常会通过构造方法接收被装饰的对象。 并基于被装饰的对

2017-04-17 10:14:44 227

转载 Runteim类的绍介

/*Runtime对象:该类没有提供构造函数。说明不可以new 对象,那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并且返回值类型应该是本类类型。该方法是: static Runtime getRuntime();*/class RuntimeDemo { public static void mai

2017-04-14 17:20:48 261

转载 System介绍

/*System:类中的属性都是静态的 描述系统一些信息。 public static Properties getProperties();确定当前的系统属性。 Properties 是 java.util 的子类*/import java.util.*; class SystemDemo { public static void main(String[] args)

2017-04-14 16:53:42 337

转载 数组转集合

/*Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法。演示的是数组变集合的方法,及注意事项。例:int[] num = {1,2,3,4}; Arrays.asList(num) 输出:是数组的地址Integer[] num = {1,2,3,4}; Arrays.asList(num) 输出:[1,2,3,4]注意上面的输出区别:如果数组中的元素都是对象,那么变成集

2017-04-14 15:58:58 361

转载 集合转数组

/*集合变数组toArray([]);*/import java.util.*;class CollectionToArray{ public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("c"); al.add("c++"); al.add("java")

2017-04-14 15:58:14 367

转载 数组工具类及数组转成集合的方法和注意事项

/*Arrays:此类包含用来操作数组(比如排序和搜索)的各种方法。演示的是数组变集合的方法,及注意事项。例:int[] num = {1,2,3,4}; Arrays.asList(num) 输出:是数组的地址Integer[] num = {1,2,3,4}; Arrays.asList(num) 输出:[1,2,3,4]注意上面的输出区别:如果数组中的元素都是对象,那么变成集

2017-04-14 11:31:28 1559

转载 集合同步 也在框加工具类中

/*集合同步 也在框加工具类中如:public static List synchronizedList(List list)返回指定列表支持的同步(线程安全的)列表synchronizedMap(Map m) .....等一系列函数*/

2017-04-14 11:07:29 285

转载 Collections集合框架工具类

这儿使用了集合框架工具类 Collections的 reverSeOdrder() 及重载方法,一个是实现排序,一个是排序的反转,这样只需要写一个比较器就具有二个功能,而不需要写二个比较器,使用起来也是比较方法的,也有许多实现的地方。import java.util.*;//按字母顺序排序class Strcomparator implements Comparator //比较

2017-04-14 10:38:08 223

转载 练习

/*每个学生都有对应的归属地。学生Student,地址,年龄,姓名注意:姓名和年龄相同的视为同一个学生,保证学生的唯一性。1:描述学生。2:定义map容器,将学生作为键,地址为值,存入。3:获取map集合中的元素。 */import java.util.*;class Student implements Comparable{ private String name;

2017-04-13 15:20:33 212

转载 map的keySet entrySet

/*map集合的两种取出方式1:keySet:将map 中所有的键存入到set集合中,所以可以用迭代方式取出所有的键, 在根据get方法,获取每个键对应的值。 Map集合的取出原理:将Map集合转成set集合,在通过迭代器取出2:Set> entrySet:将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是:Map.Entry.*/import java.u

2017-04-13 11:25:37 302

转载 Map集合

/*Map集合:该集合存储键值对。一对一对往里存,而且保证键的唯一性。1:添加 put(K key,V value); putAll(Map m);2:删除 clear(); remove(Object key);3:判断 containsValue(Object value); containsKey(Object key);4:获取 get(Object key)

2017-04-12 17:26:42 239

转载 泛类型定义在接口上

//泛类型定义在接口上interface Inter{ void show(T t);}/* 指定类型class IterImp implements Inter{ public void show(String t) { System.out.println("show:"+t); } }*/class IterImp implements Inter{ pu

2017-04-11 14:52:05 679

转载 HashSet

/*Set:元素是无序(存入和取出的顺序不一定一致)的,元素不可以重复。Set集合的功能和Collection功能是一致的。|--Set (如果hash值相同,则会比较内容,如果内容也相同,刚不存储) |--HashSet:底层数据结构是哈希表。 |--TreeSet: HashSet 是如何保证元素唯一性的呢? 是通过元素的两个方法,hashCode和equals来完成。 如果

2017-04-07 20:38:23 223

原创 自定义排序,按字符串长度排序

/*按字符串长度排序*/import java.util.*;class TreeSetTest{ public static void main(String[] args) { TreeSet ts = new TreeSet(new MyStringLength()); ts.add("abcde"); ts.add("ab"); ts.add("abc"

2017-04-07 13:44:24 2270

转载 TreeSet的第二种排序方式:比较器

/* TreeSet的第二种排序方式: 当元素自身不具备比较性时,或者具备的比较性不是所需要的 这时就需要让集合自身具备比较性。 在集合初始化时,就有了比较方式。定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。TreeSet(Comparator comparator) 构造一个新的空 TreeSet,它根据指定比较器进行

2017-04-07 13:43:24 366

转载 集合TreeSet

/*Set:无序,不可以重复元素 |--Hashset: 数据结构是哈希表,线程是非同步的。 保证元素唯一性的原理:判断元素的hashCode值是否相同 如果相同,还会继续判断元素的equals方法,是否为true. |--TreeSet:可以对Set集合中的元素进行排序。 底层数据结构是二叉树。 保证元素唯一性的依据:compareTo方法 Tre

2017-04-07 13:42:19 292

关于java的简介

关于java的简介,java的分类,如javaSE,javaEE,javaME.

2012-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除