File是java.io包下的类,代表与平台无关的文件和目录
public static void main(String[] args) { File dir = new File("D:/DXL/DXL5/A"); File[] files=dir.listFiles(); files=dir.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { System.out.println(pathname+" sdad"); return true; } }); System.out.println("========================================================================================================"); files=dir.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { System.out.println(dir + " " + name); if (name.endsWith("f")){ return false; } return true; } }); System.out.println(Arrays.toString(files)); }
public static void main(String[] args) { printFile("C:\\eSupport",0); } public static void printFile(String filePath,int depth){ File file = new File(filePath); if (!file.exists()){ throw new IllegalArgumentException("文件不存在"); } // 打印空格 for (int i = 0; i < depth; i++) { System.out.print(" "); } // 打印名字 if (file.isFile()){ System.out.print(" - "); } System.out.println(file.getName()); // 目录递归 isDirectory判断是否是目录 if (file.isDirectory()){ File[] files = file.listFiles(); for (File f:files){ printFile(f.getPath(),depth+1 ); } } }
public static void main(String[] args) { // copyFile("D:\\javaidea\\IntelliJ IDEA 2021.1.3\\icons.db","D:\\javaidea\\"); copyTxtFile("D:\\DXL\\dfsf.txt","D:\\DXL\\dfsf副本.txt"); } public static void copyFile(String srcFilePath,String destFile){ try ( FileInputStream fis=new FileInputStream(srcFilePath); FileOutputStream fos= new FileOutputStream(destFile) ){ byte[] bytes = new byte[128]; int len=0;//实际获取的字节数 while ((len=fis.read(bytes, 0,bytes.length))>0){ fos.write(bytes,0,len); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // 拷贝文本文件 public static void copyTxtFile(String srcFilePath,String destFile){ try ( FileReader fr =new FileReader(srcFilePath); FileWriter fw= new FileWriter(destFile); ){ char[] chars=new char[128]; int len=0;//获取实际读取的字符数 while ((len=fr.read(chars,0, chars.length))>0){ System.out.println(String.valueOf(chars, 0, len)); fw.write(chars,0,len); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
public static void main(String[] args) { long l = System.currentTimeMillis(); copyFile("D:\\下载集中地\\BaiduNetdisk_7.4.3.3.exe","D:\\下载集中地\\BaiduNetdisk副本_7.4.3.3.exe"); long end = System.currentTimeMillis(); System.out.println("用时:;" + (end - l)); } public static void copyFile(String scrFile,String desFile){ try ( BufferedInputStream bis= new BufferedInputStream(new FileInputStream(scrFile)); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(desFile)); // FileInputStream bis = new FileInputStream(scrFile); // FileOutputStream bos = new FileOutputStream(desFile); ){ byte[] bytes = new byte[128]; int len=0; while ((len=bis.read(bytes,0,bytes.length))>0){ bos.write(bytes,0,len); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
第一个是缓冲流复制时间 第二个是文件流复制时间
public static void main(String[] args) { try ( InputStreamReader r=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(r); ){ String line=null; while ((line=br.readLine())!=null){ System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } }
public static void main(String[] args) { testPrintStream(); } public static void testPrintStream() { try ( FileOutputStream fos=new FileOutputStream("D:\\DXL\\dfsf.txt"); PrintStream ps=new PrintStream(fos); ){ ps.println("我爱"); ps.print("java"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }