file类基本使用
import java.io.File;
import java.io.IOException;
import java.sql.SQLOutput;
import java.text.SimpleDateFormat;
public class Filedemo {
public static void main(String[] args) throws IOException {
File f = new File("D:\\zhengqinjie\\javaCode\\javaproject\\file-io-app\\src\\1234.jpg");
long size = f.length();
System.out.println("輸出字節大小" + size);
File f2 = new File("file-io-app\\src\\1234.jpg");
System.out.println("相對路徑,是相對工程,從工程目錄開始計算,即从模块找," + f2.length());
File f3 = new File("file-io-app\\src");
System.out.println("可创建目录对象,但没有大小" + f3.length() + f3.exists());
System.out.println("绝对路径"+f.getAbsolutePath());
System.out.println("得到创建对象时的路径"+f2.getPath());
System.out.println("文件名称带后缀"+f2.getName());
File f4 = new File("file-io-app\\src\\123.txt");
long time =f4.lastModified();
System.out.println("最后修改时间,毫秒"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time));
System.out.println("是否为文件"+f4.isFile());
System.out.println("是否为目录"+f4.isDirectory());
System.out.println("文件是否存在"+ f4.exists());
//===========================================================
File f5 = new File("file-io-app\\src\\123.txt");
System.out.println("文件存在时,不可创建,返回false:" + f5.createNewFile() );
File f6 = new File("file-io-app\\src\\1234.txt");
System.out.println("文件不存在时,可创建,返回true:" + f6.createNewFile() );
//===========================================================
File f7 = new File("file-io-app\\src\\test");
System.out.println("创建一级目录,file-io-app\\src需要存在"+ f7.mkdir());
File f8 = new File("file-io-app\\src\\test\\test2\\test4");
System.out.println("创建多级目录,"+ f8.mkdirs());
System.out.println("删除空目录"+f8.delete());
System.out.println("删除文件"+f5.delete());
//========================================
File f9 = new File("D:\\zhengqinjie");
String[] file = f9.list();
for (String s : file) {
System.out.println("只取名称"+s);
File[] filelist = f9.listFiles();
for (File file1 : filelist) {
System.out.println("文件对象,较常用API"+ file1.getAbsolutePath());
}
}
}
}


递归三要素

递归找文件
import java.io.File;
public class Findfile {
public static void main(String[] args) {
File f = new File("D:\\zhengqinjie\\新建文件夹\\新建文本文档.txt");
System.out.println(findfilename(f, "02、自拍,细节提升逼格.flv"));
}
public static String findfilename(File dir, String name){
if (dir == null || dir.isFile()){
return "目录无文件或路径是文件名";
}
File[] filelists = dir.listFiles();
if(filelists == null || filelists.length == 0){
return "目录无文件或目录名不存在";
}
for (File file : filelists) {
String filename = file.getName();
if(file.isFile() && filename.equals(name)){
return file.getAbsolutePath();
}else{
findfilename(file,name);
}
}
return "当前目录下找不到目标文件";
}
}
字符编码解码
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class Charestdemo {
public static void main(String[] args) throws UnsupportedEncodingException {
String name ="我爱你中国";
byte[] bytes = name.getBytes();
System.out.println("默认使用utf-8编码,一个中文占三个字节"+Arrays.toString(bytes));
byte[] bytes1 = name.getBytes("GBK");
System.out.println("指定GBK编码,中文占2字节"+Arrays.toString(bytes1));
String debyte = new String(bytes);
String debyte1 = new String(bytes1,"GBK");
System.out.println("默认使用utf-8解码:" + debyte);
System.out.println("使用GBK解码,注意用什么编码,就需要用什么解码:" + debyte1);
}
}