1.目录、文件
package com.yfs.javase; import java.io.File; public class FileDemo1 { /** * File 目录 文件 */ public static void main(String[] args) throws Exception { // 创建目录对象 没有对应目录 File file = new File("C:/abc"); //File file = new File("C:/aaa/bbb/ccc"); System.out.println("file是否存在 : " + file.exists()); // 创建目录 if (!file.exists()) { //file.mkdir();//创建单级目录 file.mkdirs(); System.out.println("目录创建完成..."); } // System.out.println(File.pathSeparator); // System.out.println(File.pathSeparatorChar); // System.out.println(File.separator); // System.out.println(File.separatorChar); //文件 File f = new File(file,"Hello.txt"); System.out.println("f是否存在: " + f.exists()); if(! f.exists()) { f.createNewFile();//创建文件 } System.out.println("f.canExecute() : " + f.canExecute()); System.out.println("f.canRead() : " + f.canRead()); System.out.println("f.canWrite(): " + f.canWrite()); System.out.println("f.isDirectory(): " + f.isDirectory()); System.out.println("f.isFile(): " + f.isFile()); System.out.println("f.lastModified(): " + String.format("%tF %<tT", f.lastModified())); //删除文件 System.out.println("删除文件:" + f.delete()); file.delete();//删除目录 目录必须为空 System.out.println("执行结束..."); } }
2.相对 绝对
package com.yfs.javase; import java.io.File; public class FileDemo2 { /** * File 相对 绝对 */ public static void main(String[] args) throws Exception { File file = new File("img/index.gif");//相对路径 工程路径 System.out.println("file的路径: " + file.getPath()); System.out.println("file的父路径: " + file.getParent()); System.out.println("file的绝对路径: " + file.getAbsolutePath()); System.out.println("file的绝对文件: " + file.isAbsolute()); file = file.getAbsoluteFile(); System.out.println("file的绝对文件: " + file.isAbsolute()); //查看目录下的文件名称 File f = new File("E:\clazz1\workspace\20140708"); //System.out.println(f.getAbsolutePath()); String[] files = f.list(); for (int i = 0; i < files.length; i++) { System.out.println(files[i]); } //文件对象 File[] fs = f.listFiles(); for (int i = 0; i < fs.length; i++) { System.out.println(fs[i].getAbsolutePath()); } } }
3.显示所有文件
package com.yfs.javase; import java.io.File; public class FileDemo3 { /** * File 相对 绝对 */ public static void main(String[] args) throws Exception { File f = new File("E:\clazz1\workspace\20140708"); showAllFile(f); } //递归算法 方法调用自己 public static void showAllFile(File file) { //文件 if(file.isFile()) { System.out.println(file.getPath()); return; } //目录 File[] files = file.listFiles(); for (int i = 0; i < files.length; i++) { //递归 showAllFile(files[i]);//是目录 再调用自己方法 } } }
4.字节流
package com.yfs.javase; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.InputStream; import java.io.Reader; public class IODemo1 { /** * 输入 字符 字节 */ public static void main(String[] args) throws Exception { // inputData(); // inputChar(); readChar(); } // 字符流 public static void readChar() throws Exception { File file = new File("in2.txt");// 源头 // 输入流 源头与程序之间 建立连接 Reader in = new FileReader(file); int data = in.read();//按字符处理 System.out.println((char) data); data = in.read(); System.out.println((char) data); data = in.read(); System.out.println((char) data); data = in.read(); System.out.println((char) data); // 关闭连接 in.close(); } public static void inputChar() throws Exception { // in1.txt 当前程序 File file = new File("in2.txt");// 源头 // 输入流 源头与程序之间 建立连接 InputStream in = new FileInputStream(file); int data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); // 关闭连接 in.close(); } //字节流 public static void inputData() throws Exception { // in1.txt 当前程序 File file = new File("in1.txt");// 源头 // 输入流 源头与程序之间 建立连接 InputStream in = new FileInputStream(file); int data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); data = in.read();// 每次读一个字节 System.out.println((char) data); // 关闭连接 in.close(); } }