1、查找字符串最后一次出现的位置

String str = "my name is zzw";
int lastIndex = str.lastIndexOf("zzw");
if (lastIndex == -1) {
System.out.println("zzw 404");
} else {
System.out.println(lastIndex);
}

字符串查找

2、字符串分割

// 第一种方法 split
String str = "my name is zzw";
String[] strs = str.split(" ");
for (String s : strs) {
System.out.println(s);
}
// 第二种方法 StringTokenizer可以设置不同分隔符来分隔字符串,
// 默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)
String str2 = "hello everyone, my name is zzw";
StringTokenizer st = new StringTokenizer(str2);
while (st.hasMoreElements()) {
System.out.println(st.nextElement());
}
StringTokenizer st2 = new StringTokenizer(str2, ",");
while (st2.hasMoreElements()) {
System.out.println(st2.nextElement());
}

字符串分割

3、字符串大小写转换

String str = "zzw";
System.out.println(str.toUpperCase()); // 转大写
System.out.println(str.toLowerCase()); // 转小写

字符串转大小写

4、数组元素查找

int[] array = { 1, 6, 7, 5, 4, -6, 3, 9 };
int index = Arrays.binarySearch(array, 5);
System.out.println(index);

数组元素查找

5、获取当前年、月、日等

Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
int doy = cal.get(Calendar.DAY_OF_YEAR);
int dom = cal.get(Calendar.DAY_OF_MONTH);
int dow = cal.get(Calendar.DAY_OF_WEEK);
Date date = cal.getTime();
System.out.println("当前时间:" + date + "," + year + "年" + month + "月" + day + "日"
+ ",一年的第" + doy + "天,一月的第" + dom + "天,一周的第" + dow + "天");

Calendar时间处理

6、时间戳转换时间

/*yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)
K:和hh差不多,表示一天12小时制(0-11)
z:表示时区
*/
Long timeStamp = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E D F");
String sTime = sdf.format(new Date(timeStamp));
System.out.println(sTime); // 输出格式:2018-08-21 14:29:19 星期二 233 3

时间戳

7、九九乘法表

for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "×" + i + "=" + i * j + "\t");
}
System.out.println();
}

九九乘法表

8、文件操作

BufferedWriter out = new BufferedWriter(new FileWriter("d:\\zzw.txt"));
out.write("hello world");
out.close();
System.out.println("文件写成功");
BufferedReader in = new BufferedReader(new FileReader("d:\\zzw.txt"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
}
System.out.println("文件读成功");
File file = new File("d:\\zzw.log");
if (file.createNewFile()) { // 创建文件
System.out.println("文件创建成功");
} else {
System.out.println("文件创建失败");
}
if (file.exists()) { // 检测文件是否存在
if (file.delete()) { // 删除文件
System.out.println("文件删除成功");
} else {
System.out.println("文件删除失败");
}
} else {
System.out.println("文件不存在");
}

文件操作

9、目录操作

String directories = "d:\\a\\b\\c\\d\\e\\f\\g\\h\\i";
File file = new File(directories);
boolean b = file.mkdirs(); // 创建目录
if (b) {
System.out.println("目录创建成功");
} else {
System.out.println("目录创建失败");
}
File f = new File("d:\\a");
if (f.isDirectory()) { // 检测是否为目录
if (file.list().length > 0) { // 检测目录是否为空
System.out.println("目录不为空");
} else {
System.out.println("目录为空");
}
} else {
System.out.println("不是目录");
}
long size = FileUtils.sizeOfDirectory(f); // 检测目录大小
System.out.println("目录大小:" + size);
String parentDir = f.getParent(); // 获取上级目录
System.out.println("上级目录:" + parentDir);
String curDir = System.getProperty("user.dir"); // 获取当前工作目录
System.out.println("当前目录:" + curDir);
Date lastModified = new Date(f.lastModified()); // 获取目录最后修改时间
System.out.println("目录最后修改时间:" + lastModified);

目录操作

10、递归遍历目录

public static void main(String[] args) {
File dir = new File("d:\\a"); // a目录结构 a/b/c/d/e/f/g/h/i
getAllDirsAndFiles(dir);
/*
* 输出结果
* d:\a
* d:\a\b
* d:\a\b\c
* d:\a\b\c\d
* d:\a\b\c\d\e
* d:\a\b\c\d\e\f
* d:\a\b\c\d\e\f\g
* d:\a\b\c\d\e\f\g\h
* d:\a\b\c\d\e\f\g\h\i
*/ } // 递归遍历目录
public static void getAllDirsAndFiles(File dir) {
System.out.println(dir);
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
getAllDirsAndFiles(new File(dir, children[i]));
}
}
}

遍历目录

11、递归删除目录

public static void main(String[] args) throws IOException {
File f = new File("d:\\a"); // a目录结构 a/b/c/d/e/f/g/h/i
deleteDir(f); // 递归方法
/*
* 输出结果
* i目录已被删除!
* h目录已被删除!
* g目录已被删除!
* f目录已被删除!
* e目录已被删除!
* d目录已被删除!
* c目录已被删除!
* b目录已被删除!
* a目录已被删除!
*/
} // 递归删除目录——先删除文件后删除目录
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
if (dir.delete()) {
System.out.println(dir.getName() + "目录已被删除!");
return true;
} else {
System.out.println(dir.getName() + "目录删除失败!");
return false;
}
}

删除目录

12、数组、集合相互转换

// 数组转集合
String[] strs = { "zzw", "qq", "weixin" };
List<String> lst = Arrays.asList(strs);
for (String str : lst) {
System.out.println(str);
}
// 集合转数组
String[] sArrays = lst.toArray(new String[0]);
for(String s : sArrays){
System.out.println(s);
}

数组集合转换

13、List集合

List list = Arrays.asList("one Two three Four five six Two".split(" "));
System.out.println("最大值: " + Collections.max(list)); // 获取集合最大值
System.out.println("最小值: " + Collections.min(list)); // 获取集合最小值
System.out.println("List: " + list);
Collections.rotate(list, 3); // 循环移动元素 参数3代表移动的起始位置
System.out.println("rotate: " + list); // 输出结果 [five, six, Two, one, Two, three, Four]
List subList = Arrays.asList(new String[] { "Two" });
int index = Collections.indexOfSubList(list, subList); // 检测子列表是否在列表中,返回子列表所在位置
System.out.println(index);
int lastIndex = Collections.lastIndexOfSubList(list, subList);
System.out.println(lastIndex);

集合

14、网页抓取

URL url = new URL("https://www.baidu.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
BufferedWriter writer = new BufferedWriter(new FileWriter("data.html"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
writer.write(line);
writer.newLine();
}
reader.close();
writer.close();

网页抓取

15、获取远程文件大小

URL url = new URL("http://wx.qlogo.cn/mmopen/SPia0Eklic7mk65iaCc4LXiciaKpQFoI2gk6cwKKqPj7cSjSrmribre4B17DzVBQib3CVfYvKW6xc9DyDBUBScECnahZrYZa7wptTDJ/0"); // 微信头像
URLConnection conn = url.openConnection();
int size = conn.getContentLength();
if (size < 0) {
System.out.println("无法获取文件大小。");
} else {
System.out.println("文件大小为:" + size + " bytes");
}
conn.getInputStream().close();

获取远程文件

Java知识点梳理——常用方法总结的更多相关文章

  1. java知识点梳理

    网络搜索结果,出处不详,仅供参考 对于刚刚接触Java的人,java基础知识技术点繁多,那么gkstk小编为大家汇总最全java知识点如下,仅供大家参考学习! 1. JVM相关(包括了各个版本的特性) ...

  2. Java知识点梳理——集合

    1.定义:Java集合类存放于java.util包,是存放对象的容器,长度可变,只能存放对象,可以存放不同的数据类型: 2.常用集合接口: a.Collection接口:最基本的集合接口,存储不唯一, ...

  3. Java知识点梳理——装箱和拆箱

    1.前言:Java是典型的面向对象编程语言,但其中有8种基本数据类型不支持面向对象编程,基本数据类型不具备对象的特性,没有属性和方法:Java为此8种基本数据类型设计了对应的类(包装类),使之相互转换 ...

  4. Java知识点梳理——继承

    1.定义:继承允许创建分等级层次的类,就是子类继承父类的特征行为,使得子类对象具有父类实例的方法,   使得子类具有父类相同的行为. 2.继承的特性: a.子类拥有父类非priavte的属性.方法: ...

  5. Java知识点梳理——多态

    1.定义:多态是同一个行为具有多个不同表现形式或形态的能力,即一个接口不同的实例执行不同的操作: 2.优点:消除类型之间的耦合关系.可替换性.可扩展性.接口性.灵活性.简化性: 3.多态存在的3个必要 ...

  6. Java知识点梳理——抽象类和接口

    抽象类 1.定义:没有包含足够的信息来描绘一个具体对象的类,不能被实例化,必须被继承: 2.abstract关键字:abstract class定义抽象类,普通类的其它功能依然存在,如变量.方法等: ...

  7. Java知识点梳理——读写分离

    1.读写分离:可以通过Spring提供的AbstractRoutingDataSource类,重写determineCurrentLookupKey方法,实现动态切换数据源的功能:读写分离可以有效减轻 ...

  8. Java知识点梳理——泛型

    1.定义:泛型的本质是参数化类型,就是将类型由原来的具体的类型参数化,这种参数类型可以用在类.接口.方法中,分别称为泛型类.泛型接口.泛型方法: 2.泛型类:泛型类的声明和非泛型类的声明类似,除了在类 ...

  9. java 知识点梳理

    1.ArrayList与linkedList 区别 ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦; 优点是查找比较快. Lin ...

随机推荐

  1. Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)

    Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...

  2. Oracle 表分区partition(http://love-flying-snow.iteye.com/blog/573303)

    http://www.jb51.net/article/44959.htm Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区. 一:范围分区 就是根据数据库表中某一字段的值的范围来划 ...

  3. Mac git 的使用

    1. mac 安装git brew install git 2.初使化 git config --global user.name "mygit" git config --glo ...

  4. If Value Exists Then Query Else Allow Create New in Oracle Forms An Example

    An example given below for Oracle Forms, when a value exists then execute query for that value to di ...

  5. Oracle Form's Trigger Tutorial With Sample FMB

    Created an Oracle Form to handle specific events / triggers like When-New-Form-Instance, Pre-Insert, ...

  6. [笔记]Android 源码编译

    问题: 解决方法: 下载地址ftp://ftp.gnu.org/gnu/make/make3.8.2的安装步骤:tar -zxvf make3.8.2.tar.gz在make-3.8.2目录下./co ...

  7. ElasticSearch搜索term和terms的区别

    今天同事使用ES查询印地语的文章.发现查询报错,查询语句和错误信息如下: 查询语句:{    "query":{        "bool":{         ...

  8. mysql 远程登陆不上

    当使用 TCP/IP 连接 mysql 时, 出现 : Can't connect to MySQL server on 'xxx.xxx.xxx.xxx.'(111) 这个错误. 经过重复折腾: 确 ...

  9. json lib 2.4及其依赖包下载

    下载文件地址:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar 它包括 common ...

  10. HDU5294——Tricks Device(最短路 + 最大流)

    第一次做最大流的题目- 这题就是堆模板 #include <iostream> #include <algorithm> #include <cmath> #inc ...