ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

String 字符串和文件操作方法

2022-05-16 00:02:42  阅读:120  来源: 互联网

标签:文件 String 操作方法 路径 文件夹 File 字符串


目录

String 字符串和文件操作方法

1. String 字符串

1.1 字符串存储问题和equals方法必要性
package com.qfedu.a_string;

/**
 * 字符串存储问题和 equals 方法
 * @author Anonymous
 *
 */
public class Demo1 {
	public static void main(String[] args) {
		String str1 = "红牛";
		String str2 = "红牛";
		String str3 = new String("红牛");
		String str4 = new String(str2);
		
//		System.out.println(str1);
//		System.out.println(str2);
//		System.out.println(str3);
//		System.out.println(str4);
		
		/*
		 * == 判断仅比较两个引用数据类型变量存储的地址是否一致,
		 */
		System.out.println("str1 == str2 : " + (str1 == str2)); // t
		System.out.println("str2 == str3 : " + (str2 == str3)); // f
		System.out.println("str3 == str4 : " + (str3 == str4)); // f
		System.out.println("str4 == str1 : " + (str4 == str1)); // f
		
		System.out.println();
	
		/*
		 * 字符串 重写 Object 类内的 equals 方法是按照字符串数据内容判断两个字符串是否一致。
		 * 字符串比较必须使用 equals 方法
		 */
		System.out.println("str1.equals(str2) : " + (str1.equals(str2)));
		System.out.println("str2.equals(str3) : " + (str2.equals(str3)));
		System.out.println("str3.equals(str4) : " + (str3.equals(str4)));
		System.out.println("str4.equals(str1) : " + (str4.equals(str1)));
		 
	}
}

1.2 字符串相关方法
1.2.1 获取相关方法
char charAt(int index);
	获取字符串指定下标对应的字符

int indexOf(String str);
	找出指定字符串在当前调用方法字符串中第一次出现的下标位置
int indexOf(char ch);
	找出指定字符在当前调用方法字符串中的第一次出现的下标位置
int lastIndexOf(String str);
	找出指定字符串在当前调用方法字符串中最后一次出现的下标位置
int lastIndexOf(char ch);
	找出指定字符在当前调用方法字符串中的最后一次出现的下标位置
	
int length();
	获取字符串字符个数
1.2.2 判断方法
boolean endsWith(String str);
	判断调用方法字符串是否以参数字符串结尾
boolean startsWith(String str);
	判断调用方法字符串是否以参数字符串开头
boolean isEmpty();
	判断调用方法字符串是否为 空字符串 
	"" 空字符串 JDK 1.6 以上版本有效
boolean contains(String str);
	判断参数字符串是否为调用方法字符串的子字符串
boolean equals(Object obj); Override equals method in type Object
	判断两个字符串是否一致
boolean equalsIgnoreCase(String str);
	不区分大小写比较字符串数据内容
1.2.3 转换方法
String(char[] arr);
	【构造方法】将字符数组转换成一个字符串
String(char[] arr, int offset, int length);
	【构造方法】将参数字符数组,从指定下标 offset 开始,计数 length 长度,转换为字符串
	例如:
		char[] arr = {'A', 'B', 'C', 'D', 'E', 'F'};
		new String(arr, 2, 3) ==> "CDE"
static String valueOf(char[] arr);
	将字符数组转换成一个字符串
static String valueOf(char[] arr, int offset, int length);
	将参数字符数组,从指定下标 offset 开始,计数 length 长度,转换为字符串
	例如:
		char[] arr = {'A', 'B', 'C', 'D', 'E', 'F'};
		new String(arr, 2, 3) ==> "CDE"
char[] toCharArray();
	将字符串转换为字符数组
1.2.4 其他方法
/*
【注意事项】
	以下方法返回值大多数 String 字符串,字符串对于开发而言是一个常量,所有基于字符串的修改操作方法,都是根据原字符串创建新的字符串进行操作,原串不变!!!
*/
String replace(char oldChar, char newChar);
	调用方法字符串使用 newChar 替换指定的 oldChar,替换结果通过方法返回值得到,原串不变
String substring(int begin);
	从指定下标开始,到整个字符串末尾获取子字符串
String substring(int begin, int end);
	从指定下标开始,到指定下标结束,获取子字符串,要头不要尾
String toUpperCase();
	字符串中的所有小写英文字母,转换为大写英文字母
String toLowerCase();
	字符串中的所有大写英文字母,转换为小写英文字母
String trim();
	去除字符串两边的无效空格
1.2.5 重点方法
String[] split(String str);
	根据指定字符串切割调用方法字符串,返回值是切割之后得到的字符串数组

2. 文件管理

2.1 File类概述
今天涉及到的内容只是操作文件或者文件夹,不涉及文件内容操作(没有 IO 流)

	File类 是 SUN 公司在Java中定义的用于管理文件或者文件夹对应的类,包含针对于文件的信息获取,创建,删除,移动,拷贝等一系列操作。
构造方法:
	File(String path);
		根据提供的文件路径,创建对应的 File 对象,该路径可以是【绝对路径】也可以是【相对路径】
	File(String parent, String childName);
		根据父目录文件路径,和子文件或者子文件夹名称,创建File对象
	File(File parent, String childName);
		根据父目录对应的File对象,和子文件或者子文件夹名称,创建File对象。

绝对路径:
	对于 Windows 操作系统,从盘符位置到指定文件的路径
	例如:
		C:/aaa/1.txt
相对路径:
	对于任何的操作系统,去往其他路径的捷径
	.  当前目录
	.. 当前目录的上级目录

路径分隔符:
	/ 【推荐】适用于 Linux UNIX macOS Windows 包括网络地址
	\\ 有且只用于 windows 中
package com.qfedu.b_file;

import java.io.File;

/*
 * File类构造方法演示和路径问题
 */
public class Demo1 {
	public static void main(String[] args) {
		/*
		 * 【注意】
		 * File 对象创建使用的路径,文件和文件夹名称,不校验是否合法,是否存在,是否合理
		 */
		File file1 = new File("Z:/aaa/1.txt");
		File file2 = new File("Z:/aaa", "1.txt");
		
		File parent = new File("Z:/aaa");
		File file3 = new File(parent, "1.txt");
		
		System.out.println(file1);
		System.out.println(file2);
		System.out.println(file3);
	}
}
2.2 创建文件或者文件夹
boolean createNewFile();
	通过 File 类对象调用,创建 File 类对象存储地址对应的普通文件,创建成功返回true,失败返回false
	失败原因:
		1. 对应路径下已存在同名文件
		2. 对应路径文件夹没有【写入权限】
		3. 路径不合法,指定路径不存在

boolean mkdir();
	通过 File 类对象调用,创建 File 类对象存储地址对应的文件夹,创建成功返回 true ,失败返回false 
	失败原因:
		1. 对应路径下已存在同名文件夹
		2. 对应路径文件夹没有【写入权限】
		3. 路径不合法,指定路径不存在

mkdirs();
	通过 File 类对象调用,创建 File 类对象存储地址对应的文件夹,如果中间路径不存在,可以将中间路径文件夹一并创建,创建成功返回 true ,失败返回false 
	失败原因:
		1. 对应路径下已存在同名文件夹
		2. 对应路径某一个文件夹没有【写入权限】
		3. 路径不合法,指定路径不存在 例如: 电脑只有CDE盘, 路径选择 G 盘

boolean renameTo(File dest);
	通过 File 类对象调用,将当前 File 对象对应文件或者文件夹 renameTo 目标文件或者文件夹,可以用于移动文件或者文件夹,重命名文件或者文件夹。

mac
	/users/用户名
	直接打开终端 
	> cd ~ # 回到家目录
	> pwd ==> 展示当前工作目录
2.3 删除文件或者文件夹
boolean delete();
	通过 File 类对象调用,删除对应文件或者文件夹,该删除操作是直接从磁盘上抹掉数据,无法还原,同时注意该方法无法删除非空文件夹。
	
void deleteOnExit();
	通过 File 类对象调用,标记 File 类对象对应文件或者文件夹,在 JVM 退出整个程序的情况下,将对应文件或者文件夹删除。
	一般用于 日志文件删除,操作文件删除,缓冲文件删除
2.4 文件或者文件夹相关判断方法
boolean isFile();
	通过 File 类对象调用,判断 File 类对象对应路径是不是普通文件
boolean isDirectory();
	通过 File 类对象调用,判断 File 类对象对应路径是不是文件夹
boolean exists();
	通过 File 类对象调用,判断 File 类对象对应路径文件或者文件夹是否存在
boolean isHidden();
	通过 File 类对象调用,判断 File 类对象对应路径文件或者文件夹是否为隐藏属性
boolean isAbsolute();
	通过 File 类对象调用,判断 File 类对象对应路径是否为绝对路径
2.5 与文件或者文件夹无关的方法 【纯字符串解析】
以下方法和文件或者文件夹是否存在完全无关,仅通过实例化 File 对象使用的文件或者文件夹路径,完成字符串解析操作
String getPath();
	通过 File 类对象调用,获取 File 对象对应文件或者文件夹的路径
String getParent();
	通过 File 类对象调用,获取 File 对象对应文件或者文件夹的父目录路径
String getName();
	通过 File 类对象调用,获取 File 对象对应文件或者文件夹的名称
2.6 获取文件内容
String getAbsolutePath();
	通过 File 类对象调用,获取当前 File 对象对应文件或者文件夹的绝对路径。
long lastModified();
	通过 File 类对象调用,获取当前 File 对象对应文件或者文件夹的最后修改时间。
	时间 ==> 时间戳类型
	时间戳类型 从 1970年1月1日 00:00:00 到最后修改时间的 秒数
long length();
	通过 File 类对象调用,获取当前 File 对象对应文件或者文件夹的占用硬盘字节码
	tips:如果对应的是文件夹,返回值 0L 或者 4096L

标签:文件,String,操作方法,路径,文件夹,File,字符串
来源: https://www.cnblogs.com/A-Nan-q/p/16275306.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有