-
commons-io 引入
-
IOUtils
方法(有多个重载方法略) 描述 copy(InputStream in, OutputStream out) 流复制,可复制字节流及字符流 copyLarge(InputStream in, OutputStream out) 大流复制,可复制字节流及字符流 toInputStream(String input, Charset charset) 获取字符串的输入流 toBufferedInputStream(InputStream input, int size) 获取缓存输入流,size为缓冲区大小 toBufferedReader(Reader reader, int size) 获取字符缓冲流,size为缓冲区大小 buffer(InputStream inputStream, int size) 获取缓冲流,size为缓冲区大小 closeQuietly(Closeable closeable) 安静的关流,不抛异常 close(Closeable closeable) 关流,抛异常 contentEquals(InputStream in1, InputStream in2) 判断流是否相等,可判断字节流及字符流 contentEqualsIgnoreEOL(Reader in1, Reader in2) 判断流是否相等,忽略换行符 lineIterator(InputStream input, Charset charset) 获取行迭代器,参数可为字符流 read(InputStream input, byte[] buffer) 从一个流中读取内容,参数可为字符流 readFully(InputStream input, byte[] buffer) 从一个流中读取内容,
读取的长度不够,就会抛出异常readLines(InputStream input) 读取每行数据,返回list,参数可为字符流 resourceToByteArray(String name) 通过文件路径获取字节数组 resourceToString(String name, Charset charset) 通过文件路径获取字符串 resourceToURL(String name) 通过文件路径获取URL skip(InputStream input, long toSkip) 跳过指定长度的流,参数可为字符流 skipFully(InputStream input, long toSkip) 完全跳过指定长度的流,参数可为字符流 toByteArray(InputStream input) 将输入流转换成字节数组;参数为字节流,字符流,URI,URLConnection toCharArray(InputStream is) 将输入流转换成字符数组;参数为字节流,字符流 toString(InputStream input) 将输入流转换成字符串;参数可为字节数组,字节流,字符流,URI write(byte[] data, OutputStream output) 把数据写入到输出流中,数据可以字节数组及字符串可转字节流,字符流 writeChunked(byte[] d, OutputStream o) 写出块;字节数组写入字节流;字符数组写入字符流 writeLines(Collection l, String e, OutputStream o) 写出行; -
FileUtils
方法 描述 byteCountToDisplaySize(long size) 字节数显示大小(单位转换),参数可为BigInteger checksum(File file, Checksum checksum) 文件校验 checksumCRC32(File file) 文件CRC32校验 cleanDirectory(File directory) 清空文件夹 contentEquals(File file1, File file2) 判断文件是否一致 contentEqualsIgnoreEOL(File f1, File f2, String charset) 判断文件是否一致,忽略换行 convertFileCollectionToFileArray(Collection files) 文件集合转数组 copyDirectory(File srcDir, File destDir) 复制文件夹,可设置文件过滤器及是否保留文件日期 copyDirectoryToDirectory(File sourceDir, File destinationDir) 复制文件夹到文件夹 copyFile(File srcFile, File destFile) 复制文件,可设置是否保留文件日期 copyFileToDirectory(File srcFile, File destDir) 复制文件到文件夹,可设置是否保留文件日期 copyInputStreamToFile(InputStream source, File destination) 复制流到文件 copyToDirectory(File sourceFile, File destinationDir) 复制到文件夹,复制文件可为FIle也可为File集合 copyToFile(InputStream source, File destination) 复制流到文件 copyURLToFile(URL source, File destination) 复制URL到文件 deleteDirectory(File directory) 删除目录 deleteQuietly(File file) 安静的删除 directoryContains(File directory, File child) 判断目录是否包含 forceDelete(File file) 强制删除 forceDeleteOnExit(File file) 强制退出删除 forceMkdir(File directory) 强制创建目录 forceMkdirParent(File file) 强制创建父级目录 getFile(File directory, String… names) directory路径拼接各names getTempDirectory() 获取临时目录File对象 getTempDirectoryPath() 获取临时目录路径 getUserDirectory() 获取用户目录File对象 getUserDirectoryPath() 获取用户目录路径 isFileNewer(File file, Date date) 是否是新文件 isFileOlder(File file, Date date) 是否是旧文件 iterateFiles(File directory, String[] extensions, boolean r) 获取文件迭代器;可配置文件\目录过滤器,扩展名数组,是否迭代 iterateFilesAndDirs(File dir, IOFileFilter filter, IOFileFilter filter) 获取文件及目录迭代器;可配置文件\目录过滤器 lineIterator(File file) 获取行迭代器,用于读取文件 listFiles(File directory, String[] extensions, boolean recursive) 获取文件集合,可配置文件\目录过滤器,扩展名数组,是否迭代 listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) 获取文件及目录集合;可配置文件\目录过滤器 moveDirectory(File srcDir, File destDir) 移动文件夹 moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) 移动文件夹到文件夹 moveFile(File srcFile, File destFile) 移动文件 moveFileToDirectory(File srcFile, File destDir, boolean createDestDir) 移动文件夹到文件夹,配置是否新建文件夹 moveToDirectory(File src, File destDir, boolean createDestDir) 移动到文件夹,配置是否新建文件夹 openInputStream(File file) 获取输入流 openOutputStream(File file, boolean append) 获取输出流,配置是否可追加 readFileToByteArray(File file) 读取文件为字节数组 readFileToString(File file, Charset charsetName) 读取文件为字符串 readLines(File file, Charset charset) 读取文件每行为集合 sizeOf(File file) 获取文件字节大小,返回long sizeOfAsBigInteger(File file) 获取文件字节大小,返回BigInteger sizeOfDirectory(File directory) 获取目录下文件字节大小,返回long sizeOfDirectoryAsBigInteger(File directory) 获取目录下文件字节大小,返回BigInteger toFile(URL url) URL转File,单转换 toFiles(URL… urls) URL转File,批量转换 touch(File file) 修改文件修改时间为当前时间 toURLs(File… files) 批量File转换URL write(File file, CharSequence data, Charset charset) 文件写入数据,可配置字符集,是否追加 writeByteArrayToFile(File file, byte[] data) 字节数组写入文件,可配置写入开始及长度,是否追加 writeLines(File file, Collection<?> lines) 文件写入每行数据,可配置是否追加 writeStringToFile(File file, String data, Charset charset) 字符串写入文件 -
FilenameUtils
方法 描述 normalize(String fileName) 获取当前系统格式化路径 normalizeNoEndSeparator(String fileName) 获取当前系统无结尾分隔符的路径,linux路径 concat(String basePath, String fullFileNameToAdd) 合并目录和文件名为文件全路径 directoryContains(String canonicalParent, String canonicalChild) 判断目录下是否包含指定文件或目录 separatorsToUnix(String path) 转换分隔符为linux系统分隔符 separatorsToWindows(String path) 转换分隔符为windows系统分隔符 separatorsToSystem(String path) 转换分隔符为当前系统分隔符 getPrefixLength(String fileName) 获取前缀长度 indexOfLastSeparator(String fileName) 获取最后一个/的位置 indexOfExtension(String fileName) 获取最后一个.的位置 getPrefix(String fileName) 获取前缀 getPath(String fileName) 去除前缀的路径(不包含文件名) getPathNoEndSeparator(String fileName) 去除前缀并结尾去除分隔符 getFullPath(String fileName) 获取完整路径(不包含文件名) getFullPathNoEndSeparator(String fileName) 获取完整路径并结尾去除分隔符 getName(String fileName) 获取文件名,包括扩展名 getBaseName(String fileName) 获取文件名,不包括扩展名 getExtension(String fileName) 获取文件扩展名 removeExtension(String fileName) 去除扩展名 equals(String fileName1, String fileName2) 判断文件路径是否相同 equalsOnSystem(String fileName1, String fileName2) 判断文件路径是否相同,不格式化,大小写敏感根据系统规则 equalsNormalized(String fileName1, String fileName2) 判断文件路径是否相同,格式化并大小写敏感 equalsNormalizedOnSystem(String fileName1, String fileName2) 判断文件路径是否相同,格式化,大小写敏感根据系统规则 isExtension(String fileName, String… extensions) 判断文件扩展名是否包含在指定集合中 wildcardMatch(String fileName, String wildcardMatcher) 判断文件扩展名是否和指定规则匹配,大小写敏感 注: *.??? *表示多字符 ?表示一个字符 wildcardMatchOnSystem(String fileName, String wildcardMatcher) 判断文件扩展名是否和指定规则匹配,根据系统判断敏感型 -
EndianUtils
方法 描述 swapShort(short value) swapInteger(int value) swapLong(long value) swapFloat(float value) swapDouble(double value) writeSwappedShort(byte[] data, int offset, short value) 字节数组可为字节流 readSwappedShort(byte[] data, int offset) 字节数组可为字节流 readSwappedUnsignedShort(byte[] data, int offset) 字节数组可为字节流 writeSwappedInteger(byte[] data, int offset, int value) 字节数组可为字节流 readSwappedInteger(byte[] data, int offset) 字节数组可为字节流 readSwappedUnsignedInteger(byte[] data, int offset) 字节数组可为字节流 writeSwappedLong(byte[] data, int offset, long value) 字节数组可为字节流 readSwappedLong(byte[] data, int offset) 字节数组可为字节流 writeSwappedFloat(byte[] data, int offset, float value) 字节数组可为字节流 readSwappedFloat(byte[] data, int offset) 字节数组可为字节流 writeSwappedDouble(byte[] data, int offset, double value) 字节数组可为字节流 readSwappedDouble(byte[] data, int offset) 字节数组可为字节流 -
FileFilterUtils
方法 描述 filter(IOFileFilter filter, Iterable files) 过滤文件获得数组 filterList(IOFileFilter filter, Iterable files) 过滤文件获得list集合 filterSet(IOFileFilter filter, File… files) 过滤文件获得set集合 prefixFileFilter(String prefix) 根据前缀获取文件过滤器 suffixFileFilter(String suffix) 根据后缀获取文件过滤器 nameFileFilter(String name) 根据文件名获取文件过滤器 directoryFileFilter() 目录过滤器(只获取目录) fileFileFilter() 文件过滤器(只获取文件) and(IOFileFilter… filters) 逻辑,与; or(IOFileFilter… filters) 逻辑,或; toList(IOFileFilter… filters) 转换为过滤器集合 notFileFilter(IOFileFilter filter) 逻辑,非; trueFileFilter() 逻辑,是; falseFileFilter() 逻辑,否; asFileFilter(FileFilter filter) FileFilter转IOFileFilter ageFileFilter(long cutoff) 时间过滤器;可设置时间为long及Date;
acceptOlder设置是否接受旧文件sizeFileFilter(long threshold) 文件大小过滤器;
可配置acceptLarger设置是否接受更大sizeRangeFileFilter(long min, long max) 文件大小(范围)过滤器 magicNumberFileFilter(String magicNumber) magicNumber过滤器 makeCVSAware(IOFileFilter filter) cvs文件过滤器 makeSVNAware(IOFileFilter filter) SVN文件过滤器 makeDirectoryOnly(IOFileFilter filter) 只有文件夹过滤器 makeFileOnly(IOFileFilter filter) 只有文件过滤器 -
Comparators
-
实现类
类名 描述 CompositeFileComparator(Iterable<Comparator> delegates) 复合文件比较器 DefaultFileComparator() 默认比较器,直接调用File的compareTo方法 DirectoryFileComparator() 文件目录比较器, ExtensionFileComparator(IOCase caseSensitivity) 文件路径比较器,参数为是否大小写敏感,无参为大小写敏感 LastModifiedFileComparator() 文件最后修改比较器 NameFileComparator(IOCase caseSensitivity) 文件名比较器,参数为是否大小写敏感,无参为大小写敏感 PathFileComparator(IOCase caseSensitivity) 文件路径比较器,参数为是否大小写敏感,无参为大小写敏感 SizeFileComparator(boolean sumDirectoryContents) 文件大小比较器,参数为是否为目录下所有文件大小,无参为false -
方法
方法 描述 compare(File file1, File file2) 比较两个文件,file1<file2返回-1,file1>file2返回1,相等为0 sort(File… files) 排序,返回数组;参数可为集合,返回集合 reversed() 获取反转的比较器
-
-
目录\文件监听
-
监听器
package com.example.sqldemo; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationObserver; import java.io.File; public class MyFileListener extends FileAlterationListenerAdaptor { // 文件创建 @Override public void onFileCreate(File file) { System.out.println("[新建]:" + file.getAbsolutePath()); } // 文件修改 @Override public void onFileChange(File file) { System.out.println("[修改]:" + file.getAbsolutePath()); } // 文件删除 @Override public void onFileDelete(File file) { System.out.println("[删除]:" + file.getAbsolutePath()); } // 目录创建 @Override public void onDirectoryCreate(File directory) { System.out.println("[新建]:" + directory.getAbsolutePath()); } // 目录修改 @Override public void onDirectoryChange(File directory) { System.out.println("[修改]:" + directory.getAbsolutePath()); } // 目录删除 @Override public void onDirectoryDelete(File directory) { System.out.println("[删除]:" + directory.getAbsolutePath()); } @Override public void onStart(FileAlterationObserver observer) { super.onStart(observer); } @Override public void onStop(FileAlterationObserver observer) { super.onStop(observer); } }
-
启用监听器
FileAlterationObserver observer = new FileAlterationObserver("D:\\demo\\cvs"); observer.addListener(new MyFileListener()); // 设置文件变化监听器 FileAlterationMonitor monitor = new FileAlterationMonitor(5000, observer);// 创建文件变化监听器,间隔5秒 monitor.start();// 开始监控
-
-
-
commons-lang3 引入
-
StringUtils
方法 描述 abbreviate(String str, int maxWidth) 缩略字符串,maxWidth为现在长度,最小为4
可配置其他参数offset 补偿,默认为0
abbrevMarker 省略标记,默认为 …abbreviateMiddle(String str, String m, int l) 缩略字符串,l为m.length+2时字符串中间替换m appendIfMissing(String str, CharSequence suffix, CharSequence… suffixes) 字符串结尾的后缀是否与你要结尾的后缀匹配,若不匹配则添加后缀
suffix为添加的后缀;suffixes为匹配的后缀
无suffixes时匹配suffixappendIfMissingIgnoreCase(String str, CharSequence suffix, CharSequence… suffixes) 同上,只是 忽略大小写 capitalize(String str) 首字母大写 uncapitalize(String str) 首字母小写 center(String str, int size, char padChar) 字符串扩充至指定大小且居中
若扩充大小少于原字符大小则返回原字符,若扩充大小为 负数则为0计算 )
padChar可为字符串,也可不填,默认为" "chomp(String str) 去除字符串中的"\n", “\r”, or “\r\n” chop(String str) compare(String str1, String str2) 字符串比较,
可设置nullIsLess,null为最小,默认为truecompareIgnoreCase(String str1, String str2) 同上(忽略大小写) contains(CharSequence s1, CharSequence s2) 判断一字符串是否包含另一字符串 containsIgnoreCase(CharSequence s1, CharSequence s2) 同上(忽略大小写) containsAny(CharSequence cs, CharSequence searchChars) 判断一字符串是否包含另一字符串中的任意字符,searchChars可为字符或字符串不定参 containsNone(CharSequence cs, String invalidChars) 判断一字符串是否不包含另一字符串中的任意字符,validChars可为字符不定参 containsOnly(CharSequence cs, String validChars) 判断一字符串是否只包含另一字符串中的任意字符,validChars可为字符不定参 containsWhitespace(CharSequence seq) 判断是否包含空格 countMatches(CharSequence str, char ch) 获取字符串中字符个数,参数ch可为字符串 defaultIfBlank(T str, T defaultStr) 为空白时设置默认值 defaultIfEmpty(T str, T defaultStr) 为空时设置默认值 deleteWhitespace(String str) 字符串去空格(包括中间) difference(String str1, String str2) endsWith(CharSequence str, CharSequence suffix) 判断是否以suffix结尾 endsWithIgnoreCase(CharSequence str, CharSequence suffix) 同上(忽略大小写) endsWithAny(CharSequence sequence, CharSequence… searchStrings) 判断是否以searchStrings中任意为结尾 equals(CharSequence cs1, CharSequence cs2) 判断字符串是否相等 equalsIgnoreCase(CharSequence cs1, CharSequence cs2) 同上(忽略大小写) equalsAny(CharSequence string, CharSequence… searchStrings) 判断是否与searchStrings中任意相等 equalsAnyIgnoreCase(CharSequence string, CharSequence… searchStrings) 同上(忽略大小写) firstNonBlank(T… values) 获取第一个不是空白的值 firstNonEmpty(T… values) 获取第一个不是空的值 getBytes(String string, Charset charset) 获取字节数组 getCommonPrefix(String… strs) 获取公共前缀 getDigits(String str) 获取字符串中所有数字 getIfBlank(T str, Supplier defaultSupplier) getIfBlank(T str, Supplier defaultSupplier) indexOf(CharSequence s1, CharSequence s2) 获取s2在s1所在位置索引 indexOfIgnoreCase(CharSequence str, CharSequence searchStr) 同上(忽略大小写) indexOfAny(CharSequence str, CharSequence… searchStrs) 获取searchStrs在s1所在位置索引
searchStrs任意一个出现的第一个索引位置indexOfAnyBut(CharSequence seq, CharSequence searchChars) indexOfDifference(CharSequence… css) isAllBlank(CharSequence… css) 是否所有都为空白 isAllEmpty(CharSequence… css) 是否所有都为空 isAllLowerCase(CharSequence cs) 是否都为小写 isAllUpperCase(CharSequence cs) 是否都为大写 isAlpha(CharSequence cs) 判断是否全为字母 isAlphanumeric(CharSequence cs) 判断是否全为字母或数字 isAlphanumericSpace(CharSequence cs) 判断是否全为字母或数字或空格 isAlphaSpace(CharSequence cs) 判断是否全为字母或空格 isAnyBlank(CharSequence… css) 判断是否有空白 isAnyEmpty(CharSequence… css) 判断是否有空 isAsciiPrintable(CharSequence cs) 检查字符串是否只有可打印的ASCII编码的的字符 isBlank(CharSequence cs) 判断是否为空白 isEmpty(CharSequence cs) 判断是否为空 isMixedCase(CharSequence cs) 判断是否含有大小写字母 isNoneBlank(CharSequence… css) 判断是否都不为空白 isNoneEmpty(CharSequence… css) 判断是否都不为空 isNotBlank(CharSequence cs) 判断不为空白 isNotEmpty(CharSequence cs) 判断不为空 isNumeric(CharSequence cs) 判断是否为数字 isNumericSpace(CharSequence cs) 是否全为数字 isWhitespace(CharSequence cs) 判断是否全为空格 join(byte[] array, char separator) 字符串拼接,各种类型数组按分隔符拼接 joinWith(String separator, Object… objects) 分隔符拼接objects lastIndexOf(CharSequence s1, CharSequence s2) 获取s2在s1中的最后一个位置的索引 lastOrdinalIndexOf(CharSequence s1, CharSequence s2, int ordinal) 获取s2在s1中倒数第ordinal个的位置索引 left(String str, int len) 左边截取len个字符 leftPad(String str, int size, String padStr) str不够size长的在左边补padStr length(CharSequence cs) 获取字符串长度 lowerCase(String str) 转换为小写字母 mid(String str, int pos, int len) 截取字符串 normalizeSpace(String str) 格式化空格,去两端空格 ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) str中第ordinal个searchStr所在位置索引 overlay(String str, String overlay, int start, int end) 用overlay覆盖str中start至end位置 prependIfMissing(String str, CharSequence prefix, CharSequence… prefixes) 字符串前缀是否与你要的前缀匹配,若不匹配则添加前缀
prefix为添加的前缀;prefixes为匹配的前缀
无prefixes时匹配prefixremove(String str, char remove) 移除字符串str中的字符remove removeIgnoreCase(String str, String remove) 同上(忽略大小写) removeEnd(String str, String remove) 移除字符串str后缀remove removeEndIgnoreCase(String str, String remove) 同上(忽略大小写) removeStart(String str, String remove) 移除字符串str前缀remove removeStartIgnoreCase(String str, String remove) 同上(忽略大小写) repeat(char ch, int repeat) 字符ch重复repeat次 replace(String text, String searchString, String replacement) text中searchString替换为replacement replaceIgnoreCase(String text, String searchString, String replacement) 同上(忽略大小写) replaceChars(String str, String searchChars, String replaceChars) str中的searchChars各字符替换为replaceChars中各字符 replaceEach(String text, String[] searchList, String[] replacementList) str中的searchList各字符替换为replacementList中各字符 replaceEachRepeatedly(String text, String[] searchList, String[] replacementList) str中的searchList各字符重复替换为replacementList中各字符 replaceOnce(String text, String searchString, String replacement) text中第一个searchString替换为replacement replaceOnceIgnoreCase(String text, String searchString, String replacement) 同上(忽略大小写) reverse(String str) 反转字符串 reverseDelimited(String str, char sep) 反转字符串,sep为字符串定界符 right(String str, int len) 右边截取len个字符 rightPad(String str, int size) str不够size长的在右边补padStr rotate(String str, int shift) 把str的后shift个字符移到前面 split(String str, char separatorChar) 字符串按separatorChar分割为数组 splitByCharacterType(String str) 根据字符类型分割字符串 splitByCharacterTypeCamelCase(String str) 同上(忽略大小写) splitByWholeSeparator(String str, String separator) 按分割符整体分割 splitByWholeSeparatorPreserveAllTokens(String str, String separator) 按分割符整体分割,并保留整个令牌 splitPreserveAllTokens(String str) 按分割符整体分割,并保留整个令牌 startsWith(CharSequence str, CharSequence prefix) 判断是否已以prefix开头 startsWithIgnoreCase(CharSequence str, CharSequence prefix) 同上(忽略大小写) startsWithAny(CharSequence sequence, CharSequence… searchStrings) 判断是否已以任意searchStrings开头 strip(String str, String stripChars) 去除两端的stripChars字符串 stripAccents(String input) 移除输入字符串中的java特殊字符 stripAll(String… strs,String stripChars) 批量修改字符串 stripEnd(String str, String stripChars) 批量去除字符串两端的stripChars字符串 stripStart(String str, String stripChars) 去除前端的stripChars字符串 stripToEmpty(String str) 去两端空格 stripToNull(String str) 去两端空格 substring(String str,String str, int start, int end) 字符串截取,从start到end;end不传截到末 substringAfter(String str, int separator) 截取第一个分隔符separator之后的字符串 substringAfterLast(String str, int separator) 截取最后一个分隔符separator之后的字符串 substringBefore(String str, String separator) 截取第一个分隔符separator之前的字符串 substringBeforeLast(String str, String separator) 截取最后一个分隔符separator之前的字符串 substringBetween(String str, String tag) 获取tag之间的第一个字符串 substringsBetween(String str, String open, String close) 获取open与close之间的所有字符串(成对截取) swapCase(String str) 大小写转换 toCodePoints(CharSequence str) 获取字符串各字符的十进制unicode码 toEncodedString(byte[] bytes, Charset charset) 字节数组转字符串 toRootLowerCase(String source) 转小写 toRootUpperCase(String source) 转大写 trim(String str) 去字符串两端空格 trimToEmpty(String str) 去字符串两端空格 trimToNull(String str) 去字符串两端空格 truncate(String str, int offset,int maxWidth) 截短,从offset开始最长maxWidth unwrap(String str, char wrapChar) 去除字符串str前后端wrapChar upperCase(String str) 转大写 valueOf(char[] value) 字节数组转字符串 wrap(String str, char wrapWith) 字符串str前后端添加wrapChar wrapIfMissing(String str, char wrapWith) 字符串str前后端添加wrapChar(有则不添加) -
RandomStringUtils
方法 描述 random(int count, boolean letters, boolean numbers) 随机字符串,letters字母,numbers数字 random(int count, String chars) 随机字符串,指定字符 randomAlphabetic(int count) 随机字母,一个参数为个数,
两个参数为个数范围randomAlphanumeric(int count) 随机字母数字,一个参数为个数,
两个参数为个数范围randomGraph(int count) 随机字符串,一个参数为个数,
两个参数为个数范围randomNumeric(int count) 随机数字,一个参数为个数,
两个参数为个数范围randomPrint(int count) 随机字符串,一个参数为个数,
两个参数为个数范围randomAscii(int count) 随机字符串,一个参数为个数,
两个参数为个数范围 -
NumberUtils
方法 描述 toInt(String str, int defaultValue) 字符串转int,可设置默认值,不设为0;类似方法还有 toLong,toFloat,toDouble,toByte,toShort toScaledBigDecimal(BigDecimal value, int scale, RoundingMode round) value值转BigDecimal,scale为保留小数位数,round为舍入模式;value值也可为Float,Double,String类型;scale与round可不传,默认为2及HALF_EVEN(就近取值,相同取偶) createNumber(String str) 创建一个数字 createFloat(String str) 字符串转Float;类似方法有createDouble,createInteger,
createLong,createBigInteger,createBigDecimalmin(long… array) 获取最小值;参数类型可为int,short,byte,double,float max(long… array) 获取最大值;参数类型可为int,short,byte,double,float isDigits(String str) 判断字符串是否是纯数字 isCreatable(String str) 判断字符串是否是可转换为数字,包含. E等特殊符号 isParsable(String str) 是否可解析,包含(-,.) compare(int x, int y) 数字比大小;参数类型可为short,byte,long;
x小返回-1,x大返回1,相等返回0 -
ArrayUtils
方法 描述 add(boolean[] array, boolean element) 数组扩容添加元素(尾部添加)
类型可为各基本类型,object及泛型addAll(boolean[] array1, boolean… array2) 数组批量扩容添加元素(尾部添加)
类型可为各基本类型及泛型addFirst(boolean[] array, boolean element) 数组扩容添加元素(头部添加)
类型可为各基本类型及泛型clone(boolean[] array) 数组克隆
类型可为各基本类型及泛型contains(boolean[] array, boolean valueToFind) 判断数组是否含有某元素
类型可为各基本类型,object及泛型get(T[] array, int index, T defaultValue) 通过索引获取值,可设置默认值 getLength(Object array) 获取数组长度 hashCode(Object array) 获取数组hashCode indexesOf(boolean[] array, boolean value, int start) 获取array中所有value的索引,
start为开始查找索引,可不传,默认为0;
类型可为各基本类型及objectindexOf(boolean[] array, boolean value, int start) 获取array中value的索引,
start为开始查找索引,可不传,默认为0;
类型可为各基本类型及objectinsert(int index, boolean[] array, boolean… values) 在array的index索引位置批量添加数据
类型可为各基本类型及泛型isArrayIndexValid(T[] array, int index) 判断index索引是否有效 isEmpty(boolean[] array) 判断数组是否为空
类型可为各基本类型及objectisNotEmpty(boolean[] array) 判断数组是否不为空
类型可为各基本类型及objectisSameLength(boolean[] arr1, boolean[] arr2) 判断数组是否长度相等
类型可为各基本类型及objectisSameType(Object array1, Object array2) 判断数组类型是否相等 isSorted(boolean[] array) 判断数组是否已排序
类型可为各基本类型及泛型lastIndexOf(boolean[] arr, boolean value, int start) 获取array中value的索引(倒序),
start为开始查找索引,可不传,默认为0;
类型可为各基本类型及objectnullToEmpty(boolean[] array) array为null返回空数组
类型可为各基本类型及包装类,objectremove(boolean[] array, int index) 移除指定索引元素;
类型可为各基本类型,object及泛型removeAll(boolean[] array, int… indices) 移除多个指定索引元素;
类型可为各基本类型,object及泛型removeAllOccurrences(boolean[] array, boolean element) 移除所有指定元素的元素;
类型可为各基本类型及泛型removeElement(boolean[] array, boolean element) 移除第一个指定元素的元素;
类型可为各基本类型及泛型removeElements(boolean[] array, boolean… values) 移除多个指定元素的元素(第一个);
类型可为各基本类型及泛型reverse(boolean[] array) 反转,可指定反转范围
类型可为各基本类型及objectshift(boolean[] array, int o) 后端o元素移动到前端,可指定反转范围
类型可为各基本类型及objectshuffle(boolean[] array) 元素随机排序,可传入参数Random
类型可为各基本类型及objectsubarray(boolean[] array, int start, int end) 截取数组
类型可为各基本类型及泛型swap(boolean[] array, int o1, int o2) 元素交换位置,o1与o2为交换元素索引.可添加参数len,交换o1与o2索引后长度为len的位置
类型可为各基本类型及objecttoArray(T… items) 转换为数组 toMap(Object[] array) 转换为map集合 toObject(boolean[] array) 基础类型转包装类;类型可为各基本类型 toPrimitive(Boolean[] array) 包装类转基础类型,可设置默认值 toString(Object array) 数组转字符串 toStringArray(Object[] array) object数组转字符串数组,可设置对象为空时的默认值 -
DateUtils
方法 描述 isSameDay(Date date1, Date date2) 判断两日期是否是同一天
也可判断两个日历对象CalendarisSameInstant(Date date1, Date date2) 判断两日期是否一致
也可判断两个日历对象CalendarisSameLocalTime(Calendar c1, Calendar c) 判断是否是相同的当地时间 parseDate(String str, String… ps) 宽松的日期解析,参数可设置Locale地区
例如:2020-09-33,解析出来为2020-10-03parseDateStrictly(String str, String… parsePatterns) 严格的日期解析,参数可设置Locale地区
不符合的日期会抛异常addYears(Date date, int num) 修改年,num为正数增加,负数则减少,类似方法:addMonths,addWeeks,addDays,addHours,addMinutes,addSeconds,addMilliseconds setYears(Date date, int num) 设置年,num为正整数,类似方法:setMonths,setDays,setHours,setMinutes,setSeconds,setMilliseconds toCalendar(Date date) 日期转日历,可设置时区TimeZone round(Date date, int field) 舍入日期;field为要舍入的单位,如:Calendar.YEAR
date可为日期Calendartruncate(Date date, int field) 截取日期,同round方法,就是不会四舍五入 ceiling(Date date, int field) 截取日期,同round方法,就是会”进1“,例如设置年,就是下一年 iterator(Date focus, int r) 获取日期迭代器;r为范围样式,DateUtils.RANGE_WEEK_SUNDAY
focus可为日期CalendargetFragmentInMilliseconds(Date date, int fragment) 取指定日期中从指定位置起的毫秒数,
date可为日期Calendar
fragment可为Calendar.MONDAY 类似方法有
getFragmentInSeconds,getFragmentInMinutes,
getFragmentInHours,getFragmentInDays,truncatedEquals(Date date1, Date date2, int field) 判断截取的日期是否相等 truncatedCompareTo(Date date1, Date date2, int field) 比较截取的日期大小 -
5
-
-
commons-logging 引入
-
引入log对象
Log logger = LogFactory.getLog(Main.class);
-
方法
方法 描述 debug(Object var1, Throwable var2) 输出日志,参数var2可选;其他方法:
debug(调试),info(消息), error(错误),
fatal(失败),warn(警告),trace(追踪)isFatalEnabled(); 判断是否开启某级别的日志;其他方法:
isErrorEnabled,isWarnEnabled,isInfoEnabled,
isDebugEnabled,isTraceEnabled -
配置
-
-
commons-math3 引入
-
数学运算
-
FastMath
方法 描述 addExact(int a, int b) 加法计算 subtractExact(int a, int b) 减法计算 floorDiv(int a, int b) 除法计算(向下取整) multiplyExact(int a, int b) 乘法计算 floorMod(int a, int b) 向下取模 abs(int x) 绝对值 sqrt(double a) 获取a的平方根 cbrt(double x) 获取x的立方根 hypot(double x, double y) 获取(x*x+y*y)的平方根 exp(double x) e为底的指数 expm1(double x) exp(x) -1 log(double base, double x) 求对数 log1p(double x) log(x+1) log10(double x) 10 为底的对数 pow(double x, double y) 求x的y次方 scalb(float f, int n) 以2的幂缩放自变量, f*2^n signum(double a) 负数返回-1;正数返回1;零返回0 nextUp(double a) 返回 f 和正无穷大之间与 f 相邻的浮点值 nextDown(double a) 返回 f 和负无穷大之间与 f 相邻的浮点值 nextAfter(double f, double d) 返回参数x在参数y方向上可以表示的最接近的数值,
若x等于y,则返回xcopySign(double magnitude, double sign) floor(double x) 向下取整 ceil(double x) 向上取整 rint(double x) 四舍六入,五取偶 round(double x) 四舍五入 min(int a, int b) 最小值 max(int a, int b) 最大值 random() 随机数 IEEEremainder(double d1, double d2) 返回一指定数字被另一指定数字相除的余数
注:d1-该余数正好被d2整除toIntExact(long n) long转int incrementExact(int n) 自增(加1) decrementExact(int n) 自减(减1) getExponent(double d) 获取参数的无偏指数 sin(double x) 获取角的正弦值,x为角度 cos(double x) 获取角的余弦值,x为角度 tan(double x) 获取角的正切值,x为角度 asin(double x) 获取正弦值所对应角度,x为正弦值 acos(double x) 获取余弦值所对应角度,x为余弦值 atan(double x) 获取正切值所对应角度,x为正切值 atan2(double y, double x) 获取两数的正切值 cosh(double x) 获取双曲角的双曲余弦值 sinh(double x) 获取双曲角的双曲正弦值 tanh(double x) 获取双曲角的双曲正切值 acosh(double a) 获取双曲余弦值所对应角度 asinh(double a) 获取双曲正弦值所对应角度 atanh(double a) 获取双曲正切值所对应角度 toRadians(double x) 角度转弧度 toDegrees(double x) 弧度转角度 ulp(double x) 一个单位的最后的地方(浮点数)
-
-
数据统计
- StatUtils (标准统计工具类)
方法 描述 sum(double[] values) 计算一组数值的和,
可设置begin, length参数限制计算范围sumSq(double[] values) 计算一组数值的平方和
可设置begin, length参数限制计算范围product(double[] values) 计算一组数值的乘积
可设置begin, length参数限制计算范围sumLog(double[] values) 计算一组数据的对数求和
可设置begin, length参数限制计算范围mean(double[] values) 计算一组数据的平均值
可设置begin, length参数限制计算范围geometricMean(double[] values) 计算一组数据的几何平均数
可设置begin, length参数限制计算范围variance(double[] values) 计算一组数据的方差
可设置mean平均值,begin, length参数限制计算范围populationVariance(double[] values) 计算一组数据的总体方差
可设置mean平均值,begin, length参数限制计算范围max(double[] values) 计算一组数据的最大值
可设置begin, length参数限制计算范围min(double[] values) 计算一组数据的最小值
可设置begin, length参数限制计算范围percentile(double[] values, double p) 获取一组数据的百分位数
可设置begin, length参数限制计算范围sumDifference(double[] s1, double[] s2) 计算两组数据的和差,注s1与s2长度需一致 meanDifference(double[] s1, double[] s2) 计算两组数据的平均差,注s1与s2长度需一致 varianceDifference(double[] s1, double[] s2,
double meanDifference)计算两组数据的方差差,注s1与s2长度需一致 normalize(double[] sample) 一组数据标准化处理 mode(double[] sample) 获取一组数据的众数
可设置begin, length参数限制计算范围- Median (中位数)
方法(非静态方法) 描述 evaluate(double[] values) 获取一组数据中位数 - StandardDeviation(标准差)
方法(非静态方法) 描述 evaluate(double[] values) 计算一组数据标准差
可设置mean平均值,begin, length参数限制计算范围- Frequency(频率分布)
方法(非静态方法) 描述 addValue(int v) 设置值,参数可为int,long,char数字 incrementValue(int v, long num) 设置num个v值,参数可为int,long,char数字 clear() 清空频率信息 valuesIterator() 获取所有值的迭代器 entrySetIterator() 获取所有值信息的迭代器 getSumFreq() 获取数字总个数 getCount(int v) 获取v出现的个数,参数可为int,long,char数字 getUniqueCount() 获取不同的数字总个数 getPct(int v) 获取v所占的百分百,参数可为int,long,char数字 getCumFreq(int v) 小于等于v的数的个数,参数可为int,long,char数字 getCumPct(int v) 小于等于v的数所占比例,参数可为int,long,char数字 getMode() 获取众数 merge(Frequency other) 合并 -
矩阵
-
MatrixUtils (工具类)
方法 描述 createRealMatrix(int rows, int columns) 创建一个空矩阵
参数可为二维数组(非空矩阵)createFieldMatrix(Field<T> field, int rows, int columns) 创建一个字段矩阵
参数可为二维数组(非空矩阵)createRealIdentityMatrix(int dimension) 创建一个行列相等,
并且行等于列的位置默认为1,其他为0的矩阵createFieldIdentityMatrix(Field<T> field, int dimension) 同上 createRealDiagonalMatrix(double[] diagonal) 创建一个行列相等,
并且行等于列的位置diagonal各值,其他为0的矩阵createFieldDiagonalMatrix(T[] diagonal) 同上 createRealVector(double[] data) 创建有个向量 createFieldVector(T[] data) 创建有个字段向量 createRowRealMatrix(double[] rowData) 创建一个单行矩阵 createRowFieldMatrix(T[] rowData) 创建一个单行字段矩阵 createColumnRealMatrix(double[] columnData) 创建一个单列矩阵 createColumnFieldMatrix(T[] columnData) 创建一个单列字段矩阵 checkSymmetric(RealMatrix matrix, double eps) 检验矩阵是否对称,不对称抛异常 isSymmetric(RealMatrix matrix, double eps) 判断矩阵是否对称, checkMatrixIndex(AnyMatrix m, int row, int column) 检验矩阵行列是否有效,无效抛异常 checkRowIndex(AnyMatrix m, int row) 检验矩阵行是否有效,无效抛异常 checkColumnIndex(AnyMatrix m, int column) 检验矩阵列是否有效,无效抛异常 checkSubMatrixIndex(AnyMatrix m, int startRow,
int endRow, int startColumn, int endColumn)检验矩阵指定范围行列是否有效,无效抛异常;参数也可为指定的行列两数组 checkAdditionCompatible(AnyMatrix left, AnyMatrix right) 检验两矩阵是否可相加,无可抛异常 checkSubtractionCompatible(AnyMatrix left, AnyMatrix right) 检验两矩阵是否可相减,无可抛异常 checkMultiplicationCompatible(AnyMatrix left, AnyMatrix right) 检验两矩阵是否可相乘,无可抛异常 fractionMatrixToRealMatrix(FieldMatrix<Fraction> m) 分数矩阵转矩阵 bigFractionMatrixToRealMatrix(FieldMatrix<BigFraction> m) 大分数矩阵转矩阵 serializeRealVector(RealVector vector, ObjectOutputStream oos) 序列化向量 deserializeRealVector(Object instance, String fieldName, ObjectInputStream ois) 反序列化向量 serializeRealMatrix(RealMatrix matrix, ObjectOutputStream oos) 序列化矩阵 deserializeRealMatrix(Object instance, String fieldName, ObjectInputStream ois) 反序列化矩阵 solveLowerTriangularSystem(RealMatrix rm, RealVector b) 下三角矩阵系统 solveUpperTriangularSystem(RealMatrix rm, RealVector b) 上三角矩阵系统 blockInverse(RealMatrix m, int splitIndex) inverse(RealMatrix matrix) 可设置阈值threshold -
RealMatrix(矩阵)
方法(非静态方法) 描述 add(RealMatrix var1) 矩阵加法 subtract(RealMatrix var1) 矩阵减法 scalarAdd(double var1) 整体加var1 scalarMultiply(double var1) 整体减var1 multiply(RealMatrix var1) 矩阵乘法 preMultiply(RealMatrix var1) 矩阵乘法,与multiply相反
参数可为数组或向量power(int var1) 矩阵次方运算 getData() 获取矩阵数据 getNorm() 矩阵取模 getFrobeniusNorm() getSubMatrix(int var1, int var2, int var3, int var4) 通过行列开始结束索引获取子矩阵
参数可为两个数组,指定行列索引copySubMatrix(int var1, int var2, int var3, int var4, double[][] var5) 复制矩阵区域数据到var5
参数可为两个数组,指定行列索引setSubMatrix(double[][] var1,int row, int column) 在指定行列处设置数据var1 getColumnMatrix(int var1) 获取指定列的矩阵 setColumnMatrix(int var1, RealMatrix var2) 设置指定列的矩阵 getRowVector(int var1) 获取指定列的行向量 setRowVector(int var1, RealVector var2) 设置指定列的行向量 getColumnVector(int var1) 获取指定列的列向量 setColumnVector(int var1, RealVector var2) 设置指定列的列向量 getRow(int var1) 获取指定行的数据 setRow(int var1, double[] var2) 设置指定行的数据 getColumn(int var1) 获取指定列的数据 setColumn(int var1, double[] var2) 设置指定列的数据 getEntry(int var1, int var2) 获取指定行列处的位置 setEntry(int var1, int var2, double var3) 设置指定行列处的位置 addToEntry(int var1, int var2, double var3) 指定位置数据加var3 multiplyEntry(int var1, int var2, double var3) 指定位置数据乘var3 transpose() 行列转换 getTrace() 获取行列索引相等位置数据之和 operate(double[] var1) 获取每行数据乘var1对应索引的和 walkInRowOrder(RealMatrixChangingVisitor var1) 按行排序 walkInColumnOrder(RealMatrixChangingVisitor var1) 按列排序 walkInOptimizedOrder(RealMatrixChangingVisitor var1) 优化排序 -
RealVector(向量)
方法 描述 getDimension() 获取元素数量 getEntry(int var1) 获取指定索引处数据 setEntry(int var1, double var2) 设置指定索引处数据 addToEntry(int index, double increment) 给指定位置数加increment append(double var1) 后面最加元素,参数可为向量对象 getSubVector(int var1, int var2) 获取子向量 setSubVector(int var1, RealVector var2) 设置子向量 isNaN() 判断是否是NaN isInfinite() 判断是否是无限的 add(RealVector v) 向量加法 subtract(RealVector v) 向量减法 mapAdd(double d) 获取各元素加d的向量 mapAddToSelf(double d) 获取各元素加d的向量,自身也加d copy() 复制向量 dotProduct(RealVector v) 获取向量点积 cosine(RealVector v) 获取向量的cos值 ebeDivide(RealVector var1) 向量除法 ebeMultiply(RealVector var1) 向量乘法 getDistance(RealVector v) 向量之间的距离 getNorm() 向量取模 getL1Norm() 向量的值相加 getLInfNorm() getL1Distance(RealVector v) getLInfDistance(RealVector v) getMinIndex() 获取最小索引 getMinValue() 获取最小值 getMaxIndex() 获取最大索引 getMaxValue() 获取最大值 mapMultiply(double d) 获取各元素乘d的向量 mapMultiplyToSelf(double d) 获取各元素加d的向量,自身也乘d mapSubtract(double d) 获取各元素减d的向量 mapSubtractToSelf(double d) 获取各元素减d的向量,自身也减d mapDivide(double d) 获取各元素除d的向量 mapDivideToSelf(double d) 获取各元素除d的向量,自身也除d outerProduct(RealVector v) 转为矩阵,v第一行,当前向量为第一列
其他位置为个行列的积projection(RealVector v) 在v向量上的投影向量 set(double value) 所有值都置为value toArray() 转为数组 unitVector() 获取单位向量 unitize() 转为单位向量 iterator() 获取迭代器 map(UnivariateFunction function) 返回各元素进行计算处理的向量 mapToSelf(UnivariateFunction function) 返回各元素进行计算处理的向量,自身也乘处理 combine(double a, double b, RealVector y) 合并向量 combineToSelf(double a, double b, RealVector y) 合并向量,自身也乘处理 walkInDefaultOrder(RealVectorPreservingVisitor v) 默认排序 walkInOptimizedOrder(RealVectorPreservingVisitor v) 优化排序 unmodifiableRealVector(final RealVector v) 获取不可修改向量 -
Field(字段)
实现类 描述 BigFractionField.getInstance() 大分数 FractionField.getInstance() 分数 BigRealField.getInstance() 大实数 ComplexField.getInstance() 复杂数 Decimal64Field.getInstance() 十进制数 -
UnivariateFunction(单变量函数)
实现类 描述 Constant(double c) 常量函数 Add() 加法函数 Subtract() 减法函数 Multiply() 乘法函数 Divide() 除法函数 Minus() 相反数函数 Max() 最大函数 Min() 最小函数 Identity() 恒等函数 Inverse() 倒数函数 Log() 对数函数 Log1p() 对数函数,Log1p(x)=Log(x+1) Log10() 以10为底数对数函数 Logit() Logit(x)=Log(x/(1-x)) Exp() e为底的指数函数 Expm1() e为底的指数减1函数 Pow() 次方函数 Power(double p) 次方函数 Sqrt() 平方根函数 Cbrt() 立方根函数 Abs() 绝对值函数; Ceil() 向上取整 Floor() 向下取整 Rint() 五舍六入取整 Cos() 余弦函数 Acos() 反余弦函数 Cosh() 双曲余弦函数 Acosh() 反双曲余弦函数 Sin() 正弦函数 Asin() 反正弦函数 Sinh() 双曲正弦函数 Asinh 反双曲正弦函数 Sinc(boolean normalized) 辛格函数 Tan() 正切函数 Tanh() 双曲正切函数 Atan() 反正切函数 Atan2() 两个变量反正切函数 Atanh() 反双曲正切函数 Gaussian(double norm, double mean, double sigma) 高斯函数 HarmonicOscillator(double amplitude,
double omega, double phase)归一化径向波函数 Logistic(double k, double m, double b,
double q, double a, double n)Logistic函数 Sigmoid(double lo, double hi) 激活函数 Signum() 符号函数,负数返回-1,正数返回1,零返回0 StepFunction(double[] x, double[] y) 跃阶函数 Ulp() 一个单位的最后的地方(浮点数)
-
-
-
commons-collections4 引入
-
CollectionUtils
方法 描述 emptyCollection() 获取空集合 emptyIfNull(Collection collection) 集合为null时返回空集合 union(Iterable<? extends O> a, Iterable<? extends O> b) 把b集合元素在a中没有的添加到a集合中 intersection(Iterable<? extends O> a, Iterable<? extends O> b) 获取a,b集合公共元素 disjunction(Iterable<? extends O> a, Iterable<? extends O> b) 把b集合元素在a中没有的添加到a集合中,并去除a,b集合公共元素 subtract(Iterable<? extends O> a, Iterable<? extends O> b) 获取a集合中有但b集合中没有的元素 containsAll(Collection<?> a, Collection<?> b) 判断b集合元素是否都在a集合中 containsAny(Collection<?> a, Collection<?> b) 判断a,b集合是否有公共元素 getCardinalityMap(Iterable<? extends O> coll) 获取每个元素个数的map集合 isSubCollection(Collection<?> a, Collection<?> b) 判断a是否是b的子集 isProperSubCollection(Collection<?> a, Collection<?> b) 判断a是否是b的子集,且元素个数不能相同 isEqualCollection(Collection<?> a, Collection<?> b) 判断两集合元素是否一致 filter(Iterable collection, Predicate<? super T> predicate) 集合元素过滤 filterInverse(Iterable collection, Predicate<? super T> predicate) 集合元素反向过滤 transform(Collection/ collection,
Transformer<? super C, ? extends C> transformer)处理每个集合元素 select(Iterable<? extends O> inputCollection,
Predicate<? super O> predicate)查询元素 selectRejected(Iterable<? extends O> inputCollection,
Predicate<? super O> predicate)查询元素,与select相反 collect(Iterable inputCollection,
Transformer<? super I, ? extends O> transformer)转换集合 addIgnoreNull(Collection collection, T object) 添加元素,忽略NUll值 addAll(Collection a, Iterable<? extends C> b) 把b中元素添加到a中 get(Object object, int index) 获取指定索引位置元素 size(Object object) 获取集合/数组大小 sizeIsEmpty(Object object) 判断集合/数组大小是否为空 isEmpty(Collection<?> coll) 判断集合是否为空 isNotEmpty(Collection<?> coll) 判断集合是否为不为空 reverseArray(Object[] array) 反转数组 isFull(Collection<? extends Object> coll) 判断集合数量是否为空 maxSize(Collection<? extends Object> coll) 获取集合最大数量 collate(Iterable<? extends O> a, Iterable<? extends O> b) 获取两集合的所有元素集合 permutations(Collection collection) 获取集合元素的所有组合 retainAll(Collection a, Collection<?> b) 保留a中所有b所含有元素 removeAll(Collection a, Collection<?> b) 移除a中所有b中所含有元素 predicatedCollection(Collection collection,
Predicate<? super C> predicate)获取谓词集合 transformingCollection(Collection collection,
Transformer<? super E, ? extends E> transformer)转变集合 extractSingleton(Collection collection) 转换为单个元素,集合元素大于1报错 -
PredicateUtils(集合过滤元素类工具)
方 描述 exceptionPredicate() 异常 truePredicate() 所有元素 falsePredicate() 排除所有元素 nullPredicate() 为空的元素 notNullPredicate() 非空的元素 equalPredicate(T value) equal判断元素 identityPredicate(T value) = 判断元素 instanceofPredicate(Class<?> type) 判断类型 uniquePredicate() 唯一元素(去重) invokerPredicate(String methodName) 执行对象元素方法过滤 andPredicate(Predicate<? super T> predicate1,
Predicate<? super T> predicate2)合并过滤条件 allPredicate(Predicate<? super T>… predicates) 合并多个过滤条件 orPredicate(Predicate<? super T> predicate1,
Predicate<? super T> predicate2)逻辑’或’处理两个过滤条件 anyPredicate(Predicate<? super T>… predicates) 逻辑’或’处理多个过滤条件 eitherPredicate(Predicate<? super T> predicate1,
Predicate<? super T> predicate2)逻辑’或’处理两个过滤条件,一个条件不成立过滤掉数据 onePredicate(Predicate<? super T>… predicates) 逻辑’或’处理多个过滤条件,一个条件不成立过滤掉数据 neitherPredicate(Predicate<? super T> predicate1,
Predicate<? super T> predicate2逻辑’或’处理两个过滤条件,一个条件不成立过滤掉数据 nonePredicate(Predicate<? super T>… predicates) 逻辑’或’处理两个过滤条件,一个条件不成立过滤掉数据 notPredicate(Predicate<? super T> predicate) 逻辑’非’ asPredicate(Transformer<? super T, Boolean> transformer) 转换器过滤 nullIsExceptionPredicate(Predicate<? super T> predicate) 有null元素抛异常 nullIsFalsePredicate(Predicate<? super T> predicate) 过滤掉null元素 nullIsTruePredicate(Predicate<? super T> predicate) 过滤得null元素 transformedPredicate(Transformer<? super T, ? extends T> t,
Predicate<? super T> predicate)转换并过滤
-
-
commons-codec 引入
-
Base64
Base64 base64 = new Base64(); //Base64加密 byte[] encode = base64.encode("你是一个好人".getBytes()); System.out.println(new String(encode)); //Base64解密,参数可直接为加密字符串 Object decode = base64.decode(encode); System.out.println(new String((byte[])decode)); //加密直接获取字符串,与encodeAsString方法一样 String str = base64.encodeAsString("你是一个好人".getBytes()); System.out.println(str);
-
MD5
String md5Str = DigestUtils.md5Hex("ssadasd"); System.out.println(md5Str);
-
SHA
System.out.println(DigestUtils.sha1Hex("12312")); System.out.println(DigestUtils.sha256Hex("12312")); System.out.println(DigestUtils.sha384Hex("12312")); System.out.println(DigestUtils.sha512Hex("12312"));
-
URLCodec
URLCodec codec = new URLCodec(); //URL编码,可编码字节数组 String str1 = codec.encode("测试", "utf-8"); System.out.println(str1); URL解码,可解码字节数组 String str2 = codec.decode(str1, "utf-8"); System.out.println(str2);
-
BCodec
BCodec bCodec=new BCodec(); //B编码器编码 String str1 = bCodec.encode("1223asadd爱爱爱"); //B编码器解码码 String str2 = bCodec.decode(str1); System.out.println(str1); System.out.println(str2);
-
QCodec
QCodec qCodec=new QCodec(); //Q编码器编码 String str1 = qCodec.encode("1223asadd爱爱爱"); //Q编码器解码码 String str2 = qCodec.decode(str1); System.out.println(str1); System.out.println(str2);
-
Hex
//Hex编码为字符串 String hexString = Hex.encodeHexString("你是好人".getBytes("UTF-8")); System.out.println(hexString); //Hex编码为字符数组,,第二个参数意思是是否全部转换成小写 char[] encodeHex = Hex.encodeHex("你是好人".getBytes(), true); System.out.println(new String(encodeHex)); //Hex解码,char数组型的 byte[] decodeHex = Hex.decodeHex(encodeHex); System.out.println(new String(decodeHex)); //字符串类型的,该方法要求传入的是char[] byte[] decodeHex2 = Hex.decodeHex(hexString.toCharArray()); System.out.println(new String(decodeHex2));
-
Metaphone,Soundex ,RefinedSoundex
//通常是用在类似音比对 for (int i = 0; i < 2; i++) { String str = (i == 0) ? "tea" : "teacher"; Metaphone metaphone = new Metaphone(); RefinedSoundex refinedSoundex = new RefinedSoundex(); Soundex soundex = new Soundex(); //建立出相同的key给发音相似的单字, 比 Soundex 还要准确,长度不固定 System.out.println(metaphone.encode(str)); //精确的Soundex,由第一个英文字加上多个个数字组成 System.out.println(refinedSoundex.encode(str)); //是固定第一个英文字加上3个数字 System.out.println(soundex.encode(str)); }
-
-
commons-beanutils 引入
-
MethodUtils
方法 描述 clearCache() 清空方法缓存 getAccessibleMethod(Class<?> clazz, String methodName, Class<?>[] parameterTypes) 返回一个可访问的方法 getMatchingAccessibleMethod(Class<?> clazz, String methodName, Class<?>[] parameterTypes) 查找与方法名及参数匹配的可访问方法 getPrimitiveType(Class<?> wrapperType) 获得包装类的基本数据类型 getPrimitiveWrapper(Class<?> primitiveType) 获得基本数据类型的包装类型 invokeExactMethod(Object object, String methodName, Object[] args, Class<?>[] parameterTypes) 执行方法 invokeExactStaticMethod(Class<?> objectClass, String methodName, Object[] args, Class<?>[] parameterTypes) 执行静态方法 invokeMethod(Object object, String methodName, Object[] args, Class<?>[] parameterTypes) 执行方法 invokeStaticMethod(Class<?> objectClass, String methodName, Object[] args, Class<?>[] parameterTypes) 执行静态方法 isAssignmentCompatible(Class<?> parameterType, Class<?> parameterization) 确定是否可以使用一个类型作为方法调用参数 setCacheMethods(boolean cacheMethods) 设置缓存方法 toNonPrimitiveClass(Class<?> clazz) 如果是简单数据类型则返回对应的包装类,否则返回本身 -
ConstructorUtils
方法 描述 getAccessibleConstructor(Class<T> klass, Class<?>[] parameterTypes) 获得含有指定类型形参的构造方法 invokeConstructor(Class<T> klass, Object[] args, Class<?>[] parameterTypes) 执行构造方法 invokeExactConstructor(Class<T> klass, Object[] args, Class<?>[] parameterTypes) 执行构造方法 -
PropertyUtils
方法 描述 addBeanIntrospector(BeanIntrospector introspector) 添加一个BeanIntrospector clearDescriptors() 清空所有属性描述信息 copyProperties(Object dest, Object orig) 复制属性 describe(Object bean) 属性描述 getIndexedProperty(Object bean, String name, int index) 指定索引属性值 getMappedProperty(Object bean, String name, String key) 获得Map属性中指定键对应的值 getNestedProperty(Object bean, String name) 获得嵌套属性 getProperty(Object bean, String name) 获得属性 getPropertyDescriptor(Object bean, String name) 获得属性描述 getPropertyDescriptors(Class<?> beanClass) 获得属性描述 getPropertyType(Object bean, String name) 获得属性类型 getReadMethod(PropertyDescriptor descriptor) 返回一个可访问的属性的getter方法 getSimpleProperty(Object bean, String name) 返回属性值 getWriteMethod(PropertyDescriptor descriptor) 返回一个可访问的属性的setter方法 isReadable(Object bean, String name) 判断是否为可读属性 isWriteable(Object bean, String name) 判断是否为可写属性 removeBeanIntrospector(BeanIntrospector introspector) 移除BeanIntrospector resetBeanIntrospectors() 重置BeanIntrospector setIndexedProperty(Object bean, String name, int index, Object value) 设置指定索引属性值 setIndexedProperty(Object bean, String name, Object value) 设置指定索引属性值 setMappedProperty(Object bean, String name, Object value) 设置Map属性的值 setMappedProperty(Object bean, String name, String key, Object value) 设置Map属性指定键的值 setNestedProperty(Object bean, String name, Object value) 设置嵌套属性的值 setProperty(Object bean, String name, Object value) 设置属性值 setSimpleProperty(Object bean, String name, Object value) 设置属性值 -
BeanUtils
方法 描述 cloneBean(Object bean) 克隆对象 copyProperties(Object dest, Object orig) 复制属性 createCache() 创建缓存 describe(Object bean) 描述 getArrayProperty(Object bean, String name) 返回指定属性的值,作为字符串数组返回 getIndexedProperty(Object bean, String name, int index) 获取指定索引位置对象作为字符串返回 getMappedProperty(Object bean, String name, String key) 获得Map属性中指定键的值作为字符串返回 getNestedProperty(Object bean, String name) 获得嵌套属性作为字符串返回 getProperty(Object bean, String name) 获得属性值作为字符串返回 getSimpleProperty(Object bean, String name) 获得属性值作为字符串返回 populate(Object bean, Map<String,? extends Object> properties) 将Map中的数据注入到Bean对象中 setProperty(Object bean, String name, Object value) 设置属性值 -
ConvertUtils
方法 描述 convert(Object value) 将对象转换为字符串 convert(Object value, Class<?> targetType) 将对象转换为指定数据类型对象 convert(String[] values, Class<?> clazz) 将数组转换为指定数据类型对象 convert(String value, Class<?> clazz) 将字符串转换为指定数据类型对象 deregister(Class<?> clazz) 移除指定类型的转换器,无clazz移除全部 lookup(Class<?> clazz) 查找指定类型的转换器 lookup(Class<?> sourceType, Class<?> targetType) 查找将指定类型转换为另一种类型的转换器 register(Converter converter, Class<?> clazz) 注册转换器
-
-
commons-httpclient 引入
-
HttpClient
操作 描述 .getHttpConnectionManager().getParams()
.setConnectionTimeout(5000);连接主机服务器相关配置
设置超时时间.executeMethod(HttpMethod method); 访问http请求 .setParams(HttpClientParams params); 设置HttpClient配置参数 .setHttpConnectionManager(
HttpConnectionManager httpConnectionManager);设置HttpClient管理配置 -
HttpMethod(常用)
-
GetMethod
操作 描述 new GetMethod(String url) 构造方法 .getParams()
.setParameter(HttpMethodParams.SO_TIMEOUT, 10000);请求超时时间 addRequestHeader(String headerName, String headerValue) 设置请求头 .getResponseBodyAsString() 获取响应体(字符串) .getResponseBodyAsStream() 获取响应体(流) .getResponseBody() 获取响应体(字节数组) releaseConnection(); 释放连接 -
PostMethod
操作 描述 new PostMethod(""); 构造方法 .getParams().setContentCharset(“utf-8”); 防止中文乱码 addParameter(String paramName, String paramValue) 添加参数 .setRequestEntity(entity); 设置请求体
-
-
RequestEntity (请求体)
-
StringRequestEntity
new StringRequestEntity(String content, String contentType, String charset);
-
ByteArrayRequestEntity
new ByteArrayRequestEntity(byte[] content);
-
FileRequestEntity
new FileRequestEntity(final File file, final String contentType)
-
InputStreamRequestEntity
new InputStreamRequestEntity(InputStream content)
-
MultipartRequestEntity
new MultipartRequestEntity(Part[] parts, HttpMethodParams params)
-
-
-
commons-fileupload 引入
-
DiskFileItemFactory
方法 描述 DiskFileItemFactory(int size, File repo) 构造方法,有无参构造 setDefaultCharset(String pCharset) 设置字符集 setRepository(File dir); 设置临时文件存储位置。 setSizeThreshold(long bytes) 设置请求大小阈值,当请求大于该值时,接收到的数据是缓存在磁盘中的,否则直接缓存到内存中。 setFileCleaningTracker(FileCleaningTracker pTracker) 设置临时文件清理跟踪器 -
ServletFileUpload
方法 描述 ServletFileUpload(FileItemFactory fileItemFactory) 构造方法 setSizeMax(long bytes); 设置整个请求的最大值,大于该值时,不允许传送 setFileMaxSize(long bytes); 设置单个文件的最大值,大于该值时,不允许传送 setHeaderEncoding(String charset); 设置读取每个FileItem的头数据的字符编码,不设置时采用request编码,也没有时采用系统默认编码 serProgressListener(ProgressListener pListener); 设置上传进度监听器 parseRequest(RequestContext ctx) 解析请求为文件列表 -
FileItem
方法 描述 getContentType(); 获取单个Item的ContentType getFieldName(); 获取Item的field名 getFieldName(); 获取Item的field名 getSize(); 获取Item的大小 get(); 将File转换成字节数组返回 isInMemory(); File目前是否存在内存中 isFormField(); 是否是表单域 getInputStream(); 获取输入流,用于读取File
-
-
commons-configuration 引入
-
Properties配置文件
PropertiesConfiguration conf= new PropertiesConfiguration("a.properties"); // 所有键的迭代器 Iterator<String> iterator = configuration.getKeys(); //获取配置文件值 System.out.println(configuration.getString("userId"));
-
xml
//报错需添加 commons-collections XMLConfiguration configuration = new XMLConfiguration("a.xml"); //获取根元素名 System.out.println(configuration.getRootElementName()); //根目录的id属性 System.out.println(configuration.getProperty("[@id]")); //获取display-name标签值 System.out.println(configuration.getProperty("display-name")); //获取servlet节点下的子节点对象 SubnodeConfiguration servlet = configuration.configurationAt("servlet"); System.out.println(servlet.getString("servlet-name")); System.out.println(servlet.getString("servlet-class")); //获取servlet节点下的子节点对象(分层) List<HierarchicalConfiguration> list = configuration.configurationsAt("servlet"); list.forEach(e->{ System.out.println(e.getString("servlet-name")); System.out.println(e.getString("servlet-class")); });
-
-
commons-text 引入
-
StringSubstitutor
方法(静态) 描述 replace(Object s, Map<String, V> m,
String prefix, String suffix)source替换map中定义的字段
prefix与suffix为前后缀,可不设,默认为${和}
map可换为PropertiescreateInterpolator(); 获取一个实现类 replaceSystemProperties(final Object source) 替换系统配置属性 -
JaccardSimilarity
方法 描述 apply(CharSequence left, CharSequence right) 获取两字符串的jaccard相似度 -
CosineSimilarity
方法 描述 cosineSimilarity(final Map<CharSequence, Integer> leftVector,
final Map<CharSequence, Integer> rightVector)计算余弦相似度
-
-
commons-net 引入
-
FTPClient
FTPClient ftpClient = new FTPClient();//创建客户端 ftpClient.setControlEncoding("uft-8");//设置编码集 ftpClient.connect("addr", 8080);//设置地址和端口号 ftpClient.login("username", "password");//设置用户及密码 //将执行的FTP命令输出到控制台 ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); ftpClient.setDataTimeout(120000);//设置超时时间 ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//设置传输的文件类型, 以二进制方式传输 int replyCode = ftpClient.getReplyCode();//响应状态 200 成功 boolean connected = ftpClient.isConnected();//判断是否连接 boolean available = ftpClient.isAvailable();//判断是否有效 //获取文件,无参获取所有文件,参数为目录获取目录下文件,参数为文件则获取该文件 FTPFile[] ftpFiles = ftpClient.listFiles("FTP文件地址"); ftpClient.changeWorkingDirectory("工作目录");//更换FTP工作目录 //文件下载到本地,加载之前 FTP工作目录 必须切换到文件所在目录 ftpClient.retrieveFile("文件名", new FileOutputStream("下载目录")); ftpClient.makeDirectory("目录名");//创建目录 ftpClient.changeToParentDirectory();//工作目录移到上级目录 ftpClient.storeFile("文件名", new FileInputStream("文件路径"));//文件上传 ftpClient.deleteFile("文件名"); ftpClient.removeDirectory("目录名"); String[] name = ftpClient.listNames("正则表达式");//获取文件名集合,无参所有文件名 String workingDirectory = ftpClient.printWorkingDirectory();//获取当前工作目录 ftpClient.setRestartOffset(1);//设置本地文件大小,用于断点续传 boolean isDo = ftpClient.completePendingCommand();//判断是否有未完成的命令 ftpClient.abort();//中断正在进行的文件传输 ftpClient.disconnect();//断开连接 ftpClient.logout();//退出客户端
-
通用工具(common)
最新推荐文章于 2023-12-18 18:02:49 发布