分类目录:Java那些事

以下是与分类 “Java那些事” 相关联的文章

git 提交了一些敏感信息,如何进行彻底删除

如果自己一个不小心的提交了一些敏感的信息到git上面,而自己的项目有可能被其他人看到,如果查看历史记录还是能看到自己提交那些文件。 那么如何彻底从历史记录中的删除这些文件呢? 可以通过下面的命令进行删除,比如删除 db.properties 文件 git filter-branch --index-filter 'git rm --cached --ignore-unmatch db.proper ...
Java那些事 / 2015-06-02

如何编写一个zrlog插件

zrlog的插件能够做那些事情?? 比如定时生成一个siteMap,处理垃圾评论,定时备份数据文件 等。 建立一个 Java ProJect这里需要导入 zrlog-dev-xx.jar实现 IZrlogPlugin 这个接口 这里有个几个方法需要简单说明下, package com.fzb.blog.util.plugin.api; import java.util.Map; public ...
Java那些事 / 2015-06-02

利用NIO,ByteBuffer处理TCP长连接数据粘包的问题

问题:TCP 长连接会发生数据粘包 原因:IP层对数据进行了分包发送(就是说这个与发送端无关,接收端必须处理) TCP长连接发送数据是以数据流的方式传输。当然也并不是将整个数据一次发送。当然程序里面就是write一次就足够了。然而这个会被IP层进行分包发送,这样意味着数据并不是一次能接受完的。如果数据量不大(1.3kb~1.4kb)就有可能一次收完,能否一次接受完毕主要看当时网络的MTU值。如果 ...
Java那些事 / 2015-02-05
JAVA Linux下的验证码问题

JAVA Linux下的验证码问题

一般项目涉及到会员的时候就少不了需要验证码,项目放在Windows 可以正常的运行但是一旦把项目部署到Linux 触及到验证码的方法就会导致tomcat 直接停止运行。

这个问题百度大多答案都是千篇一律的,大多都是用到了awt把项目搞挂了。
Java那些事 / 2014-11-30

java 编写网页爬虫程序(利用HttpClient+jsoup)

对于网页抓取这方面大家都知道百度和google 都是依靠这个起家的. 百度为广大的网名提供了很多便捷的地方.让大家能最快的找到自己的想要的东西.百度做的事情就是聚合互联网的信息资源(当然百度也有自己的信息平台,如百度文库,知道,贴吧这类的产品).那百度是怎样的抓取网站的呢.一般情况百度会有自己的链接库. 根据部分网站友链,外链.或者是网站管理员向百度提交网址的方式抓取网站A的内容. 百度的会根据网站A的情况派出蜘蛛(也有称爬虫的)去抓取网站A的内容.蜘蛛根据情况抓取网站A内容.百度根据自己的算法去组织抓取的内容. 然后你就能在百度中搜索到网站A的内容了.当然有时候可能不会第一页的. 这个就是百度核心了. 如何让用户第一时间找到自己想要的内容.
Java那些事 / 2014-10-19

java socket(TCP)学习记录

        最近在 学习了socket 发现socket果然是个好东西. 仔细的去了解发现用途真的太多.通过scoket编写的东西能很好的做到各种兼容性.比如大家孰知的HTTP 协议了.sokcet通过一些同行协议就能就完成了HTTP . 想想就感觉好厉害呀.

        HTTP 这样强大的协议也不是在任何情况都是很有效的.如HTTP 需要实现长链接就显得有些力不从心了.HTTP 适合BS下的应用需要什么数据就从服务器请求什么数据.如果想要服务器主动找客户端的话就不是那样容易了.HTTP 基于请求的特点就无法完成服务端一主动找客户端(浏览器)

Java那些事 / 2014-09-17

如何通过JAVA代码实现 批量改文件后缀

最近在改一套HTML模板 总是要改文件的后缀

但是手动改有些显得不太爽于是 就用java 实现了这个小小的功能。 方便以后自己使用

 

贴代码 开始

 


/**
	 * 根据文件后缀 查找符合要求文件列表
	 * @param path
	 * @param prefix
	 */
	private void getFilesByPrefix(String path,String prefix){
		File file[]=new File(path).listFiles();
		for(File f:file)
		{
			if(f.isDirectory() && new File(f.getAbsolutePath()).listFiles()!=null){
				getFilesByPrefix(f.getAbsolutePath(), prefix);
			}
			else{
				if(f.getAbsoluteFile().toString().endsWith(prefix)){
					fileList.add(f.getAbsoluteFile().toString());
				}
			}
		}
	}
	
	/** 外部调用 (根据文件后缀 查找符合要求文件列表) 并且检查传入的路径是否存在
	 * @param path
	 * @param prefix
	 */
	public void updateFilesPrefix(String path,String oldPrefix,String nowPrefix){
		if (new File(path).isDirectory()) {
			getFilesByPrefix(path, oldPrefix);
		} 
		if(fileList.size()>0){
			for (String string : fileList) {
				String fileName=string.substring(0,string.lastIndexOf(".")+1);
				String newFileName=fileName+nowPrefix;
				System.out.println(newFileName);
				new File(string).renameTo(new File(newFileName));
			}
		}
	}
	
	
	public static void main(String[] args) {
		FilesManageUtil f=new FilesManageUtil();
		f.updateFilesPrefix("H:\\网页模板\\charisma-master\\charisma-master","jsp","html");
		
	}

 

Java那些事 / 2014-03-20

按所有的文件夹在前的方式进行排序 - 处理java中使用遍历的文件下的内容

前几天遇到了这个问题。 发现遍历的文件夹和文件排列的顺序是乱的(按时间排序的)

于是想到了要自己去实现排序。 于是就在网上早了下代码。发现可以通过 Collections.sort

于是就想到了使用自己去重写 compare来实现排序。

下面是排序的代码。。

 

	public static void mysort(List<Files> files){
		Collections.sort(files, new Comparator<Files>()
		{
			public int compare(Files o1, Files o2) {
			
				//如果传进来的2个文件o1为文件夹 o2 不是文件时需要改变顺序
				if(o1.isFiler() && !o2.isFiler())
					return -1;
				//返回值>=0,则不调用Arrays.swap(Object x[], int a, int b) 方法。
				if(!o1.isFiler() && o2.isFiler())
		    	    return 1;
				return 0;
			}
		});
	}

 

Java那些事 / 2013-12-23

总结下几个数据库桥接 JDBC的URL

人难免会忘记 。 有时候少打个: 也要纠结半天

 

mysql --> jdbc:mysql://localhost:3306/blog[?useUnicode=true&characterEncoding=UTF-8&user=blog&password=xxxxx]  ?useUnicode=true&characterEncoding=UTF-8 可以避免一些应为mysql 安装时没有设置编码 带来的问题。  就这个有点想个网址 其他 oracle 的: sqlserver的 ; 还真给带来不少的疑惑

sql server --> jdbc:sqlserver://localhost:1433;databasename=jblog

 

sqlite --> jdbc:sqlite:/E:/1.db

 

oracle --> jdbc:oracle:thin:@localhost:1521:orcl

 

目前 接触过这4个数据库。

 

JDBC 是个好东西。

Java那些事 / 2013-12-16