
java基础
Eddie-Wang
I DO WHAT I DO.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java中char和String的相互转换
Java中char是一个基本类型,而String是一个引用类型。有时候我们需要在它们之间互相转换。String转换为char在Java中将String转换为char是非常简单的。1. 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。2. 使用String.toCharArray()(返回值为char[])可以得到将包含整个S...原创 2020-04-10 16:15:39 · 1498 阅读 · 0 评论 -
java获取文件大小的方法
目前Java获取文件大小的方法有两种:1、通过file的length()方法获取;2、通过流式方法获取;通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的available()方法和新的java..nio.*中的FileChannel下面依次介绍这几种方法:首先选择一个文件并查看这个文件在windows中显示的大小,为了测试准确性,我这里选取了...原创 2020-03-22 11:28:14 · 321 阅读 · 0 评论 -
base64转inputStream
/** * base64转inputStream * @param base64string * @return */ private static InputStream BaseToInputStream(String base64string){ ByteArrayInputStream stream = null; try { BASE64...原创 2020-03-22 11:24:36 · 1045 阅读 · 0 评论 -
Java 获取字符串Hash值
/** * A hashing method that changes a string (like a URL) into a hash suitable for using as a * disk filename. */ public static String hashKeyForDisk(String key) { String c...原创 2020-03-22 11:21:06 · 3780 阅读 · 0 评论 -
Java读取文件方法
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { ...原创 2020-03-19 22:37:44 · 183 阅读 · 0 评论 -
java删除文件夹的方法
1.先根遍历序递归删除文件夹/** * 先根遍历序递归删除文件夹 * * @param dirFile 要被删除的文件或者目录 * @return 删除成功返回true, 否则返回false */public static boolean deleteFile(File dirFile) { // 如果dir对应的文件不存在,则退出 if (!dirFile.ex...原创 2020-03-19 22:27:56 · 575 阅读 · 0 评论 -
java根据汉字获取全拼和首字母
import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin...原创 2020-02-03 17:12:34 · 286 阅读 · 0 评论 -
Java生成随机密码
public class PasswordGeneratorUtil{ //密码能包含的特殊字符 public static final char[] allowedSpecialCharactors = { '`', '~', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '_', ...原创 2020-02-03 17:09:34 · 1210 阅读 · 0 评论 -
Java验证密码是否符合规则
密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种其中对要求2进行校验:/** * <校验密码复杂度> * * @param password password * @return 结果 * @throws */ private Integer validatePasswd...原创 2020-02-03 17:03:11 · 4435 阅读 · 0 评论 -
java获取当前系统时区
/** * <获取当前系统时区> * * @return 时区 * @throws */ public static String getTimeZone() { TimeZone timeZone = TimeZone.getDefault(); return timeZone.get...原创 2019-12-26 09:38:43 · 2023 阅读 · 0 评论 -
获取今天0点及23:59:59的时间戳
/** * <获取当天0点时间戳> * * @return 当天0点时间戳 * @throws */ public static Long getToday0Time() { Long currentTimestamps = System.currentTimeMillis(); Lon...原创 2019-12-26 09:36:50 · 2043 阅读 · 0 评论 -
java获取linux主机名
/** * <获取主机名> * * @return 主机名 * @throws */ public static String getHostname() { String command = "hostname"; Reader reader = null; Buffe...原创 2019-12-19 19:42:59 · 1818 阅读 · 0 评论 -
LinkedBlockingQueue类中的take方法执行后不释放内存问题记录
在项目中,用到了LinkedBlockingQueue,生产者和消费者分别在两个不同的线程中。在程序运行过程中,发现队列在一段时间后,无法再向其中生产数据,感觉很困惑。在网上找了一段时间,都没有找到有效解决的方法在消息生产过程中,会产生积压,但是按理说take是从队首移除,那么移除后应释放内存才对,但是好久好久都没有释放,并且我用System.gc()释放,也是一样不行偶然发现我...原创 2019-12-19 19:26:19 · 3736 阅读 · 2 评论 -
java进程执行linux命令
在项目中需要在java中查询相关进程信息,故需要在java中执行shell脚本,ps -ef | grep java |grep xxx/** * <获取具体服务的在线状态> * * @param serviceName 服务名 * @return 服务状态 * @throws */ private Boolea...原创 2019-12-19 19:04:43 · 287 阅读 · 0 评论 -
将本地jar添加到本地Maven库
mvn install:install-file -Dfile=test-1.0-SNAPSHOT.jar -DgroupId=com.test.test -DartifactId=test-Dversion=1.0-SNAPSHOT -Dpackaging=jar本地打开cmd,进入jar所在文件夹下,通过上述命令将jar install到本地maven库-Dfile为jar包名-...原创 2019-11-20 20:47:02 · 146 阅读 · 0 评论 -
java判断指定路径文件夹是否存在,若不存在则创建新的文件夹
//dirPath :文件夹磁盘路径private static void isChartPathExist(String dirPath) { File file = new File(dirPath); if (!file.exists()) { file.mkdirs(); } }...原创 2019-11-19 09:49:57 · 200 阅读 · 0 评论 -
java获取linux网卡名
/** * <获取网卡名称> * * @return 结果 * @throws */ public List<String> getInetName() throws ServiceException { String command = "ifconfig"; ...原创 2019-11-19 09:48:50 · 1100 阅读 · 0 评论 -
java在Linux下写文件
在Linux下读写文件和windows差不多,区别就在于路径上:new File("/home/用户名/文件名")即可如果不知道路径名,可以在命令行输入pwd进行查看BufferedWriter bw = null; try { File file = new File("/home/qiulei/points.txt"); ...原创 2019-11-19 09:42:49 · 3461 阅读 · 0 评论 -
Java执行Linux命令并返回命令结果
Java 可以通过 Runtime 调用Linux命令,形式如下:Runtime.getRuntime().exec(command)但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进...原创 2019-11-19 09:41:24 · 1955 阅读 · 0 评论 -
Error: Could not find or load main class Test
问题描述Linux 环境下运行 Java 程序时,执行javac Test.java生成Test.class文件,再执行java Test时报错:Error: Could not find or load main class Test解决方法使用命令:vi /etc/profile打开/etc/profile文件,键入i进行编辑; 修改CLASSPATH=$J...原创 2019-11-17 11:08:09 · 4256 阅读 · 0 评论 -
调用Process.waitfor导致的进程挂起
问题背景如果要在Java中调用shell脚本时,可以使用Runtime.exec或ProcessBuilder.start。它们都会返回一个Process对象,通过这个Process可以对获取脚本执行的输出,然后在Java中进行相应处理。例如,下面的代码: try { Process process = Runtime.getRuntime().exec(cmd); ...原创 2019-11-17 11:06:59 · 484 阅读 · 0 评论 -
java.io.IOException: Stream closed解决办法
1.出现这个bug的大体逻辑代码如下: private static void findMovieId() throws Exception { File resultFile = new File("C:\\2016.txt"); OutputStreamWriter outputStreamWriter = new Outp...原创 2019-11-17 11:04:48 · 4010 阅读 · 0 评论 -
java:多网卡环境下获取MAC地址
NetworkUtil.javaimport com.google.common.base.Function;import com.google.common.base.Joiner;import com.google.common.base.Predicate;import com.google.common.base.Predicates;import com.google.co...原创 2019-11-17 10:42:24 · 744 阅读 · 0 评论 -
java将视频文件转multipartfile
添加依赖:<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version></dependency>...原创 2019-11-11 10:13:10 · 1113 阅读 · 0 评论 -
Java子类与父类之间的对象转换
在使用Java的多态机制时,常常使用的一个特性便是子类和父类之间的对象转换。从子类向父类的转换称为向上转换(upcasting),通过向上转换,我们能够在编写程序时采用通用程序设计的思想,在需要使用子类对象的时候,通过把变量定义为父类型,我们可以通过一个变量,使用该父类型的所有子类型实例;从父类型向子类型的转换称为向下转换(downcasting),通过向下转换,我们能在必要的时候,将父类型变量转...原创 2019-10-26 10:04:38 · 1309 阅读 · 1 评论 -
JAVA中try、catch、finally带return的执行顺序总结
异常处理中,try、catch、finally的执行顺序,大家都知道是按顺序执行的。即,如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。但是当try、catch、finally中加入return之后,就会有几种不同的情况出现,下面分别来说明一下。也可以跳到最后直接看总结。一、try中带有returnprivate in...原创 2019-10-26 09:48:29 · 159 阅读 · 0 评论 -
正则表达式-匹配ip及rtsp
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。...原创 2019-10-26 09:45:00 · 2460 阅读 · 0 评论 -
内存溢出和内存泄漏的区别
1.1内存溢出:(Out Of Memory---OOM)系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以放下数据项序列,称为内存溢出。说白了就是...原创 2019-10-26 09:32:12 · 244 阅读 · 0 评论 -
final、finally与finalize的区别
1. final 在java中,final可以用来修饰类,方法和变量(成员变量或局部变量)。下面将对其详细介绍。1.1 修饰类 当用final修饰类的时,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意:final类中所有的成员方法都会隐式的定义为final方法。1.2 修饰方法使用final方法的原因主要有两个: ...原创 2019-10-26 09:30:47 · 144 阅读 · 0 评论 -
java获取linux服务器IP
在项目开发过程中,需要获取linux服务器ip作为zookeeper节点名称,原先使用的是以下的方法:public static String getIpAddress() { String hostAddress = ""; try { InetAddress address = InetAddress.getLocalHost(); hostAddress = a...原创 2019-10-26 09:26:28 · 4846 阅读 · 0 评论 -
java连接mysql并测试是否成功,并查询当前数据库的所有数据表及对应表的字段信息
在项目开发过程中,涉及到动态配置数据源的功能,页面上配置一个新的数据源,需要在后台做验证是否可以连接,做下记录:1.获取对应数据表:/** * <数据源验证,验证成功返回对应数据库中的表名list> * * @param dataSourceCheckDTO dataSourceCheckDTO * @return 验证的数据源的表名l...原创 2019-07-01 22:12:15 · 1795 阅读 · 0 评论 -
解决java.lang.ClassNotFoundException:com.mysql.jdbc.Driver问题
在项目开发过程中,出现了这样一个问题:数据库驱动找不到,记录一下:问题现象:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2019-07-01 19:41:42.841 ERROR 12252 --- [ ...原创 2019-07-01 22:07:11 · 1554 阅读 · 0 评论 -
java.io.IOException:“文件名,目录名或卷标语法不正确”
今天在项目代码编写中,出现了这样的问题:java.io.IOException: The filename, directory name, or volume label syntax is incorrect at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.c...原创 2019-06-26 09:33:23 · 6254 阅读 · 1 评论 -
java中list中的subList方法
List<Object> list = new Arraylist<>();List<Object> subList = list.subList(0, 5);其中subList(0, 5)取得的是下标为0到4的元素,不包含下标为5的元素.原创 2019-06-26 09:18:15 · 339 阅读 · 0 评论 -
工具类--Java生成csv文件并压缩
csv文件支持excel文件格式打开,但是却不需要poi的支持,文件生成更加简单,方便,项目中需要用到csv文件,做下记录:1.生成csv文件:/** * <生成csv文件> * * @param fileName fileName * @param filePath filePath * @param colNa...原创 2019-06-25 19:26:54 · 3939 阅读 · 0 评论 -
java操作String
1、Java 获取指定字符串出现的次数方式一:/** * @param args */public static void main(String[] args) { String srcText = "Hello World"; String findText = "e"; int num = appearNumber(srcText, findText...原创 2019-06-21 17:15:20 · 378 阅读 · 0 评论 -
Java String.split()函数的用法和正则表达式
在java.lang包中有String.split()方法的原型是:public String[] split(String regex, int limit)split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。需要注意是有以下几点:(1)regex是可选项。字符串或正则表达式对象,它标识了...原创 2019-05-29 14:25:38 · 6718 阅读 · 0 评论 -
java通过jdbc操作数据库
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.PreparedStatement;import java.util.Date;public class JdbcTest{ ...原创 2019-04-26 10:38:49 · 129 阅读 · 0 评论 -
Map集合中get不存在的key值,返回值问题
public static void main(String[] args){ Map<String, String> a = new HashMap<String, String>(); String string = a.get("a111"); System.out.println(string);}在Map集合中,get一个不存在的值...原创 2019-04-17 12:37:43 · 10676 阅读 · 0 评论 -
Java解析Excel文件(.xlsx和.xls格式均适用)
添加依赖:<!-- excel相关依赖 --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version></dependen...原创 2019-04-17 12:27:43 · 511 阅读 · 0 评论