2015-2月的小程序们

马上就要过年了,今天是二月最后一天上班了,心情有些激动,恨不得立马就到家去。再来公司的时候就是3.1号了,所以在离开之前把2月份的小程序们储存起来。虽然很多都是参考了网上的小程序练习,但是自己有自己的风格,感觉存起来意义很大的,这样坚持了两个月不到,感觉很多基础的东西有了更加清晰的概念,解决很多问题的时候都会到原点去想问题了。

package everyworkdayprogramming._2015_2_02;/*** * 将字符串还原成:“我要学编程”。如:我...我.要....* * */
public class Java_2_2 {public static void main(String[] args) {String str = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";str = str.replaceAll("\\.+", "");System.out.println("去点以后--->"+str);str=str.replaceAll("(.)\\1+", "$1");System.out.println(str);}
}

package everyworkdayprogramming._2015_2_03;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;/*** 模拟UDP协议做一个聊天工具* * * */
public class Java_2_3_server {public static void main(String[] args) throws IOException {// 创建发送服务端DatagramSocket ds = new DatagramSocket();// 创建键盘录入对象,并用转换流转换后高效处理BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));String s = null;while ((s = bufferedReader.readLine()) != null) {// 把每一行数据进行封装byte[] b = s.getBytes();String str = "192.168.1.221";String[] ipStr = str.split("\\.");byte[] ipBuf = new byte[4];for (int i = 0; i < 4; i++) {System.out.println(Integer.parseInt(ipStr[i])&0xff);ipBuf[i] = (byte) (Integer.parseInt(ipStr[i]) & 0xff);}DatagramPacket dp = new DatagramPacket(b, b.length,InetAddress.getByAddress(ipBuf), 9900);ds.send(dp);}ds.close();bufferedReader.close();}
}

package everyworkdayprogramming._2015_2_03;import java.net.DatagramPacket;
import java.net.DatagramSocket;public class Java_2_3_receiver {public static void main(String[] args) throws Exception {// 创建接收端的服务DatagramSocket ds = new DatagramSocket(9900);// 接收数据while (true) {byte[] bye = new byte[1024];// 调用接收方法接收数据DatagramPacket dp = new DatagramPacket(bye, bye.length);ds.receive(dp);// 打印数据System.out.println(dp.getAddress()+ "发来"+ new String(dp.getData(), 0, dp.getLength()));}}
}

package everyworkdayprogramming._2015_2_04;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class Java_2_4_server {/*** * * 模拟Tcp协议的传输过程* * */public static void main(String[] args) throws Exception {// 定义服务器接收端口ServerSocket serverSocket = new ServerSocket(65533);// 获取服务器Socket接口Socket s = serverSocket.accept();// 获取读取客户端的流BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));// 定义输出客户端数据的流PrintWriter printWriter = new PrintWriter(System.out, true);// 获取反馈给客户端的流PrintWriter pw = new PrintWriter(s.getOutputStream(), true);// 写入到客户端的控制台String str = null;while ((str = br.readLine()) != null) {printWriter.println(str);// 返回数据pw.println("收到");}serverSocket.close();s.close();}
}

package everyworkdayprogramming._2015_2_04;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;public class Java_2_5_client {public static void main(String[] args) throws Exception {// 定义客户端端口Socket socket = new Socket("192.168.1.221", 65533);BufferedReader br = new BufferedReader(new InputStreamReader(System.in));OutputStream out = socket.getOutputStream();PrintWriter pw = new PrintWriter(out, true);// 定义读取服务器的字符流BufferedReader br1 = new BufferedReader(new InputStreamReader(socket.getInputStream()));String s1 = null;// 写入服务器while ((s1 = br.readLine()) != null) {if ("over".equals(s1)) {break;}System.out.println("---------->"+s1);pw.println(s1);// 读取服务器的数据String s3 = br1.readLine();System.out.println(s3);}pw.close();br.close();br1.close();socket.close();}
}

package everyworkdayprogramming._2015_2_05;import java.net.InetAddress;
import java.net.UnknownHostException;/*** * 通过主机名和IP地址获得对方* * */
public class Java_2_5 {public static void main(String[] args) throws UnknownHostException {InetAddress id1 = InetAddress.getByName("mpc-pc");InetAddress id = InetAddress.getByName("192.168.1.221");String ip = id.getHostAddress();String name = id.getHostName();System.out.println(ip + "-----------------" + name);System.out.println(id1.getHostAddress() + "-----------------"+ id1.getHostName());}
}


package everyworkdayprogramming._2015_2_06;import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;/*** * java的DataOutputStream和DataInputStream* * */
public class Java_2_6 {public static void main(String[] args) throws Exception {Member member = new Member("糜鹏程", 23);DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream("d:/member.mpc"));dataOutputStream.writeUTF(member.getName());dataOutputStream.writeInt(member.getAge());// 所有数据到目的地dataOutputStream.flush();// 关闭流dataOutputStream.close();DataInputStream dataInputStream = new DataInputStream(new FileInputStream("d:/member.mpc"));System.out.println(dataInputStream.readUTF());dataInputStream.close();}
}

package everyworkdayprogramming._2015_2_06;public class Member {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Member(String name, int age) {super();this.name = name;this.age = age;}public Member() {super();}}

package everyworkdayprogramming._2015_2_09;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.Reader;public class Java_2_9 {/*** * 实现一个包装类,让读出的每一行自动加上行号和:号* * @throws FileNotFoundException* * */public static void main(String[] args) throws Exception {File file = new File("d:" + File.separator + "hello2.txt");Test read = new Test(new InputStreamReader(new FileInputStream(file)));File file2 = new File("d:" + File.separator + "hello22.txt");PrintWriter printWriter = new PrintWriter(file2);String tem ;while((tem=read.myReadLine())!=null){printWriter.println(tem);}read.close();printWriter.close();file.delete();file2.renameTo(file);}
}class Test extends BufferedReader {private int lineNumber;public Test(Reader in) {super(in);}public String myReadLine() throws IOException {lineNumber++;String tme;if ((tme = super.readLine()) != null) {return lineNumber + ":" + tme;} else {return null;}}}

package everyworkdayprogramming._2015_2_10;import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.Set;public class Java_2_10 {/*** * 把Properties.txt中键为count的值改为100* * */public static void main(String[] args) throws Exception {FileInputStream fs = new FileInputStream("C:/Users/mpc/workspace/basicknowledge/src/everyworkdayprogramming/_2015_2_10/Properties.txt");Properties pp = new Properties();pp.load(fs);fs.close();System.out.println(pp.get("name"));Set<Object> set = pp.keySet();for (Object obj : set) {String s = (String) obj;if (s.equals("count")) {pp.setProperty(s, 100 + "");}}PrintWriter pw = new PrintWriter(new FileWriter("C:/Users/mpc/workspace/basicknowledge/src/everyworkdayprogramming/_2015_2_10/Properties.txt"), true);pp.list(pw);pw.close();}
}

package everyworkdayprogramming._2015_2_11;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;public class Java_2_11 {/*** * 键盘输入转大写在控制台显示* * */public static void main(String[] args) throws Exception {BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));PrintWriter printWriter = new PrintWriter(System.out, true);String line = null;while ((line = bufferedReader.readLine()) != null) {if (line.equals("break"))break;printWriter.println(line.toUpperCase());}bufferedReader.close();printWriter.close();}
}

package everyworkdayprogramming._2015_2_13;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;public class Java_2_13 {/*** * 用字符缓冲流复制一张图片并记算花费时间.* * */public static void main(String[] args) throws Exception {BufferedInputStream in = new BufferedInputStream(new FileInputStream("d:result.png"));BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d:result1.png"));long l1 = System.currentTimeMillis();byte[] bye = new byte[1024];int available = in.available();int i = 0;while ((in.read(bye)) != -1) {if (i < available / bye.length) {out.write(bye);out.flush();i++;} else {out.write(bye, 0, available % bye.length);out.flush();}}long l2 = System.currentTimeMillis();System.out.println(l2 - l1);in.close();out.close();}
}

package everyworkdayprogramming._2015_2_15;import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;public class Java_2_15 {/*** * 自己模拟BufferedReader对象* * */public static void main(String[] args) throws IOException {MyBufferedReader bufferedReader = new MyBufferedReader();bufferedReader.setReader(new InputStreamReader(System.in));System.out.println(bufferedReader.myReadLine());bufferedReader.myClose();}
}class MyBufferedReader {private Reader reader;public Reader getReader() {return reader;}public void setReader(Reader reader) {this.reader = reader;}// 模拟一次读取一行数据的方法public String myReadLine() throws IOException {StringBuilder builder = new StringBuilder();int ch = 0;while ((ch = reader.read()) != -1) {if (ch == '\r') {continue;}if (ch == '\n') {return builder.toString();} else {builder.append((char) ch);}}// 没有换行的情况if (builder.length() > 0) {return builder.toString();}return null;}// 模拟关闭方法public void myClose() throws IOException {reader.close();}}


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

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

相关文章

SHOI2009 会场预约

题目传送门 嗯&#xff0c;这道题的标签是STL&#xff0c;因为这个STL用的确实太妙了 这道题目要求维护一堆区间&#xff0c;而一个重要的操作是要删除所有与新区间冲突的区间 虽然可以用\(Splay\)来操作&#xff0c;但用STL里的set也绝对不虚 其中最精妙的当属这个重载运算符 …

创建者模式 builder

package mode.bulider;/*** * 首先是汽车&#xff0c;组成零件有&#xff1a;玻璃、轮胎、发动机&#xff1b;他们都是抽象的概念&#xff0c;所以用抽象类来创建* * */ public class Car {Glass glass;Wheel wheel;Engine engine; } package mode.bulider; /*** * 抽象的玻璃*…

平行四边形的特殊性质

定义平行四边形内角平分线围城的四边形为$\lambda$四边形$\lambda$四边形是矩形 $\lambda$四边形的中线为平行四边形中心$\lambda$四边形的对角线和平行四边形的边平行转载于:https://www.cnblogs.com/guoshaoyang/p/11011612.html

静态方法工厂模式

工厂模式有三种方法来实现&#xff0c;一种是通过传入参数的名称来决定创建哪一个产品&#xff0c;这种方法有很大的缺点&#xff0c;就是如果传入的产品名称如果不小心错误的话&#xff0c;就是无法来创建我们想得到的产品的。另一种是方法工厂模式&#xff0c;这种工厂模式中…

Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1)

1. 创建索引 Elasticsearch中索引的名称&#xff0c;必须符合以下要求&#xff1a; 字母只能够是小写字母不能够包含特殊字符&#xff0c;如\, /, *, ?, ", <, >, |, , ,, #等名称不能够以英文的中划线“-”、下划线“_”以及加号“”开头名称不可以是“.”或“.…

对象的深度复制

首先什么是深度复制&#xff1f;什么又是浅复制&#xff1f; 百度告诉我---------------> 浅复制&#xff1a;将一个对象复制后&#xff0c;基本类型都会重新创建&#xff0c;而引用类型指向的还是原对象所指的引用&#xff1b; 深复制&#xff1a;讲一个对象复制后&…

java 判断int类型为空

int id 10; if("0".equals(String.valueOf(id)) || "null".equals(String.valueOf(id)) || id < 0) return false;比如&#xff1a; "0".equals(String.valueOf(定义的int类型参数)) 判断int类型不能为空或不能小于等于0 也可以转换为String…

P1-0:项目框架搭建

后台java&#xff0c;前端用html,js &#xff0c;数据库用mysql,云数据库 构建BS结构项目 转载于:https://www.cnblogs.com/superisland/p/11016113.html

2.MySQL中的索引

索引就像树的目录&#xff0c;是为了更快的找到所要找的内容&#xff08;数据&#xff09;。MySQL中&#xff0c;索引是在存储引擎层实现的&#xff0c;不同的存储引擎有不同的索引模型&#xff0c;如innodb是采用的是B树的索引模型&#xff0c;本篇主要以innodb存储引擎的索引…

python学习-10 运算符1

1.加&#xff0c;减-&#xff0c;乘*&#xff0c;除/ 例如&#xff1a; a 1 b 2 c a b print(c) 运算结果&#xff1a; 3Process finished with exit code 0 a 1 b 2 c a - b print(c) 运算结果&#xff1a; -1Process finished with exit code 0 a 1 b 2 c a * b pr…

如何在idea中使用Mybatis-generator插件快速生成代码

代码下载地址&#xff1a;https://download.csdn.net/download/hua_faded/10671547 一、配置Maven pom.xml 文件 在pom.xml增加以下插件&#xff1a; <build><finalName>zsxt</finalName> <plugins> <plugin> <groupId>org.mybatis.genera…

游戏开发-cocos creator技巧-cc.Component.EventHandler自定义click事件

cocos creator有两种给按钮注册click事件的方式&#xff0c; EventHandler的方式虽然有点麻烦&#xff0c;但是比较灵活&#xff0c;使用时候注意每个参数必须填写正确&#xff0c;否则click时候会报null的错误第一种 node_level.on(cc.Node.EventType.TOUCH_START, this.on_pa…

Java 泛型(1):基本原理

1.1 擦除 15.7例子 Java的泛型是同伙擦除来实现的&#xff0c;在泛型代码内部&#xff0c;无法获得任何有关泛型参数类型的信息(这一点有别于C等实现)&#xff0c;这意味着你在使用泛型时&#xff0c;无法知道任何类型信息&#xff0c;只知道你在使用一个对象&#xff0c;…

21-MySQL-Ubuntu-快速回到SQL语句的行首和行末

行首: Ctrl A 行末:Ctrl E转载于:https://www.cnblogs.com/summer1019/p/11043692.html

django CBV装饰器 自定义django中间件 csrf跨站请求伪造 auth认证模块

CBV加装饰器 第一种  method_decorator(装饰器&#xff09;  加在get上 第二种  method_decorator(login_auth,nameget)  加在类上 第三种  method_decorator(login_auth)  加在dispatch上  3.7的要return super().dispatch def login(request):if request.metho…

Dubbo理论知识

本文是作者根据官方文档以及自己平时的使用情况&#xff0c;对 Dubbo 所做的一个总结。如果不懂 Dubbo 的使用的话&#xff0c;可以参考我的这篇文章《超详细&#xff0c;新手都能看懂 &#xff01;使用SpringBootDubbo 搭建一个简单的分布式服务》 Dubbo 官网&#xff1a;http…

外观模式(facade)

外观模式是为了解决类与类之间的依赖关系的&#xff0c;像spring一样&#xff0c;可以将类和类之间的关系配置到配置文件中&#xff0c;而外观模式就是将他们的关系放在一个Facade类中&#xff0c;降低了类类之间的耦合度&#xff0c;该模式中没有涉及到接口&#xff0c;看下类…

套接字TCP控制台程序客户端代码示范

套接字TCP控制台程序客户端代码示范 转载于:https://www.cnblogs.com/txwtech/p/11056770.html

widows下nignx的使用

nignx在Linux环境下可以大展身手&#xff0c;在widows环境下也可以启动一定的效果&#xff0c;但是没有linux用的好。 Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 什么是反向代理&#xff1f; 反向代…

享元模式(Flyweight)

享元模式的主要目的是实现对象的共享&#xff0c;即共享池&#xff0c;当系统中对象多的时候可以减少内存的开销&#xff0c;通常与工厂模式一起使用。 FlyWeightFactory负责创建和管理享元单元&#xff0c;当一个客户端请求时&#xff0c;工厂需要检查当前对象池中是否有符合条…