
java
没有文化,啥也不会
这个作者很懒,什么都没留下…
展开
-
JAVA:将CSV文件转换成JSON
需求将从数据库导出的csv文件以指定对应的key转换成json。思路使用openCSV读取csv文件。 给定一个String数组,保存json的keys。 遍历csv的每行数组,遍历keys和一行的所有列,append到一个json中。将得到的json添加到一个数组中,最后返回这个json数组。实现1.pom依赖 <dependency> <groupId>net.sf.opencsv</groupId>原创 2020-11-03 11:40:24 · 5634 阅读 · 2 评论 -
java:神武防掉线挂机小程序
需求游戏中一段时间不操作,会自动掉线,本程序模拟鼠标点击操作,实现自动挂机、自动刷怪、副本挂机三个功能。实现定时点击屏幕固定位置,实现自动加血、自动打开副本宝箱、自动移动等功能。由于点击位置固定,所以需要将游戏窗口放在屏幕左上角。程序分为四个小模块:RobotUtils:鼠标点击工具类,模拟鼠标点击操作。Show:用于显示操作窗口。GuajiService:主要模块,根据不同模式使用不同策略定时点击不同位置。GuajiControler:程序启动入口。代码实现Robo原创 2020-08-23 19:39:40 · 2116 阅读 · 0 评论 -
hive:编写java代码,将文本中的分隔符替换成\001
需求将sql-server中的数据导入到hive,但是没有informatic的权限,又不想麻烦别人,好在数据量较小,可以手动查询之后,保存在txt文件里,再load进hive。但是hive表中的分隔符是\001,而查询出的结果是以\t分割,所以需要将\t修改为\001。思路1.编写代码,使用jdbc链接数据库,将查询结果以\001分割,并写进文件。2.在sql-server客户端查询,将结果粘贴进txt文件,编写代码读取文件内容,并修改分隔符,写进新文件。由于没有数据库链接权限,所以只原创 2020-08-10 14:57:57 · 2614 阅读 · 0 评论 -
java:生成中文姓名(区分男女)
需求因为某些特殊原因需要生成一些订单数据。所以需要生成随机的姓名。实现思路将姓氏、男生名常见字、女生名常见字分别保存在字典中,key为从1开始的连续的整数,value为姓或单字。将字典中的数据缓存到一个HashMap中,生成随机整数从中取数据,并组合起来。模块组织字典:SurnameDictionaries.txt、BoynameDictionaries.txt、GirlnameDictionaries.txt,用于存储姓氏与名字。文件模块:FileUtils,用于读取字典,并生成H原创 2020-07-15 17:25:24 · 3209 阅读 · 0 评论 -
Java:爬取代理ip,并使用代理IP刷uv
前言很多网站对访问量的判断并不严格,只要页面被点击即视为有效访问,但是应该现在反爬虫越来越严格,为防止部分网站会对IP进行拉黑,所以这里写一个小程序爬取代理IP,并使用代理IP刷访问量。原本想把代理IP包装成一个bean类,但是发现爬下来的代理IP都不需要用户名和密码,那就只要ip和端口就行了,索性实现得简单点,只关心ip和端口好了。模块组织FileUtil:用于提供爬取到的IP和url的写入、读取接口。CheckUtil:用于校验爬取到的IP是否可用。SpiderUtil:爬虫动作的主原创 2020-06-26 11:23:50 · 2602 阅读 · 0 评论 -
java:获取项目中文件
查看资料项目中获取资源文件路径1、xxx.class.getClassLoader().getResource(“”).getPath();获取src资源文件编译后的路径(即classes路径)2、xxx.class.getClassLoader().getResource(“文件”).getPath();获取classes路径下“文件”的路径3、xxx.class.getResource(“”).getPath(); 缺少类加载器,获取xxx类经编译后的xxx.class路径4、thi..原创 2020-06-25 15:01:18 · 3352 阅读 · 0 评论 -
java多线程信号量Semaphore源码解析
最近在搞多线程,读到一篇干货,转载一下。原博:https://www.cnblogs.com/tong-yuan/p/Semaphore.html问题(1)Semaphore是什么?(2)Semaphore具有哪些特性?(3)Semaphore通常使用在什么场景中?(4)Semaphore的许可次数是否可以动态增减?(5)Semaphore如何实现限流?简介Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可.转载 2020-05-20 09:45:13 · 1101 阅读 · 0 评论