环境变量和属性
环境变量相关
1.得到某个/所有环境变量的值
2.设置环境变量的值
3.列出全部系统属性名
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.util.Enumeration; import java.util.Iterator; import java.util.Map; import java.util.Properties; public class Main { public static void main(String[] args) throws Exception { //环境变量 jdk1.7 Map<String, String> map = System.getenv(); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); } System.out.println("JAVA_HOME的环境变量:" + System.getenv("JAVA_HOME")); //属性 Properties properties = System.getProperties(); Iterator pi = properties.entrySet().iterator(); while (pi.hasNext()) { Map.Entry<Object, Object> obj = (Map.Entry<Object, Object>) pi.next(); System.out.println(obj.getKey() + ":" + obj.getValue()); } System.out.println("JAVA的版本:" + System.getProperty("java.version")); setProperty("java.coffee", "i hate coffee"); System.out.println("java.coffee的属性:" + System.getProperty("java.coffee")); //所有属性名 Properties names = System.getProperties(); Enumeration<String> enumnames = (Enumeration<String>) names.propertyNames(); while (enumnames.hasMoreElements()) { System.out.println(enumnames.nextElement()); } } private static void setProperty(String key, String value) { Properties properties = System.getProperties(); properties.setProperty(key, value); } }
属性相关
1.读取属性文件.properties
2.设置属性文件值
3.写入属性文件数据
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
Properties properties = new Properties(); File file = new File("D://jdbc.properties"); properties.load(new FileInputStream(file)); // 文件内容放入hashmap System.out.println(properties.getProperty("jdbc.username")); //内存中 properties.setProperty("jdbc.driverClassName", "com.mysql.jdbc.Driver"); //文件定位 目录可变 相对路径 根目录开始的 File outputfile = new File("D://out.properties"); //读取 新建properties文件 写入数据 properties.store(new FileOutputStream(outputfile), "驱动名");
属性文件为XML文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
Properties properties = new Properties(); properties.loadFromXML(new FileInputStream(new File("D://web.xml"))); // String s=properties.getProperty("admin_username"); // System.out.println(s); properties.setProperty("key", "value"); File out = new File("D://new.xml"); properties.storeToXML(new FileOutputStream(out), "备注");
文件 基础操作
1.得到文件名,绝对/相对路径,系统分隔符等文件信息
2.创建/删除单一指定文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.io.File; import java.io.IOException; public class Main { public static void main(String[] args) throws Exception { File f = new File("D://demo.txt"); System.out.println("文件名:" + f.getName()); System.out.println("相对路径:" + f.getPath()); System.out.println("绝对路径:" + f.getAbsolutePath()); System.out.println("是否存在:" + f.exists()); System.out.println("是否文件:" + f.isFile()); System.out.println("当前系统的文件分隔符: " + File.separator); System.out.println("系统属性中得到系统文件分隔符: " + System.getProperty("file.separator")); createFile("demo.txt"); deleteFile("demo.txt"); } private static void createFile(String dir) throws IOException { File f = new File(dir); if (f.exists()) { System.out.println("文件已经存在"); } else { // createNewFile创建文件 if (f.createNewFile()) { System.out.println("创建成功"); } else { System.out.println("创建不成功"); } } } private static void deleteFile(String dir) throws IOException { File f = new File(dir); if (f.exists()) { ////delete删除文件 if (f.delete()) { System.out.println("删除成功"); } else { System.out.println("删除不成功"); } } else { System.out.println("文件不存在"); } } }
目录 基础操作
1.遍历多级目录
2.创建/删除单一目录
3.创建/删除目录树
4.创建文件同时创建目录
5.删除目录和文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.io.File; import java.io.IOException; public class Main { public static void main(String[] args) throws Exception { File dir = new File("D:\IdeaWorkspace"); if (dir.isDirectory()) { System.out.println(dir + "是个目录"); //目录下文件列表 不会递归下一层目录 for (String s : dir.list()) { System.out.println(s); } } else { System.out.println("目录不存在"); } createSimpleDir("demodir"); deleteSimpleDir("demodir"); createMultiDir("test1/test2/test3"); deleteMultiDir("D://test1"); createDirFile("app1/app2/app3.txt"); } //添加单一目录 private static void createSimpleDir(String path) { File dir = new File(path); if (dir.exists()) { return; } else { if (dir.mkdir()) { System.out.println("目录创建成功"); } else { System.out.println("目录创建失败"); } } } //删除单一目录 private static void deleteSimpleDir(String path) { File dir = new File(path); if (dir.exists()) { if (dir.delete()) { System.out.println("目录删除成功"); } else { System.out.println("目录删除失败"); } } else { return; } } //添加多个目录 private static void createMultiDir(String path) { File dir = new File(path); if (dir.exists()) { return; } else { if (dir.mkdirs()) { System.out.println("目录创建成功"); } else { System.out.println("目录创建失败"); } } } //删除多个目录 private static void deleteMultiDir(String path) { File dir = new File(path); if (dir.exists()) { if (delete(dir)) { System.out.println("目录删除成功"); } else { System.out.println("目录删除失败"); } } else { return; } } //删除文件和目录 private static boolean delete(File dir) { boolean flag = true; if (dir.isDirectory()) { //目录递归 for (File f : dir.listFiles()) { //递归删除 flag = flag && delete(f); } } //文件直接删除 return flag && dir.delete(); } //添加目录并文件 private static void createDirFile(String path) throws IOException { File file = new File(path); if (file.exists()) { return; } File dir = file.getParentFile(); if (!dir.exists()) { dir.mkdirs(); } file.createNewFile(); } }
遍历指定后缀名文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import java.io.File; import java.io.FilenameFilter; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); System.out.println("输入目录:"); String path = sc.nextLine(); System.out.println("输入后缀名"); final String suffix = sc.nextLine(); File file = new File(path); // 匿名内部类 filenamefilter是接口 String[] array = file.list(new FilenameFilter() { // 目录dir 文件名name @Override public boolean accept(File dir, String name) { if (name.endsWith(suffix)) { // true代表之间存入String[] return true; } return false; } }); for (String s : array) { System.out.println(s); } } }