java之java.io.File的相关方法
java.io.File的使用。
IO原理及流的分类。
文件流:FileInputStream、FileOutputStream、FileReader、FileWriter
缓存流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
转换流:InputStreamReader、OuputStreamReader
标准输入/输出流
打印流
数据流
对象流:涉及序列化和反序列化ObjectInputStream、ObjectOutputStream
随机存取文件流:RandomAcessFile
java.io.File类:文件和目录路径名的抽象表示形式,与平台无关。
File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File对象可以作为参数传递给构造函数。
File类常用构造方法:
- public File(String pathname)。以pathname为路径创建File对象,可以是绝对路径,也可以是相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
- public File(String parent,String child);。以parent为父路径,child为子路径创建File对象。
- File的静态属性String sperator存储了当前系统的路径分隔符,在Unix中,此字段为"/",在windows中为"\\"。
访问文件名:
- getName()
- getPath()
- getAbsoluFile()
- getAbosoluPath()
- getParent()
- renameTo(File newName)
文件检测:
- exists()
- canWrite()
- canRead()
- isFile()
- isDirectory()
获取常规文件信息:
- lastModify()
- length()
文件操作相关:
- createNewFile()
- delete()
目录操作相关:
- mkDir()
- list()
- listFiles()
- package anno;
- import java.io.File;
- public class Test1 {
- public static void main(String[] args) {
- File f = new File("F:\\test.txt");
- System.out.println(f.getName());
- //获取new File时的路径
- System.out.println(f.getPath());
- //获取文件的绝对路径
- System.out.println(f.getAbsolutePath());
- //用绝对路径包起来的File对象
- System.out.println(f.getAbsoluteFile());
- //当前文件的父级目录
- System.out.println(f.getParent());
- f.renameTo(new File("F:\\test2.txt"));
- File f2 = new File("F:\\test2.txt");
- System.out.println(f2.exists());
- System.out.println(f2.isFile());
- System.out.println(f2.isDirectory());
- //返回的是字节数
- System.out.println(f2.length());
- File f3 = new File("F:\\test3.txt");
- if(!f3.exists()) {
- try {
- //创建文件
- f3.createNewFile();
- }catch(Exception e){
- e.printStackTrace();
- }finally {
- System.out.println("创建完毕");
- }
- }
- //删除文件
- f3.delete();
- File f4 = new File("F:\\test4\\name");
- //f.mkDir();创建单层目录
- //创建多层目录
- if(!f4.exists()) {
- f4.mkdirs();
- }
- File f5 = new File("F:\\test4");
- //返回的是字符串集合,包括文件和目录
- String[] l1 = f5.list();
- for(String l:l1){
- System.out.println(l);
- }
- //返回的是个File集合,包括目录和文件
- File[] l2 = f5.listFiles();
- for(File l:l2){
- System.out.println(l);
- }
- }
- }
递归判断某个文件夹下的文件是文件夹还是文件。
- package anno;
- import java.io.File;
- public class Test1 {
- public static void main(String[] args) {
- File f = new File("F:\\test\\");
- obtainFiles(f);
- }
- public static void obtainFiles(File f) {
- if(f.isFile()) {
- System.out.println(f.getAbsolutePath()+"是文件");
- }else {
- System.out.println(f.getAbsolutePath()+"是文件夹");
- File[] fs = f.listFiles();//获取当前目录下的文件夹或文件
- if(fs!=null && fs.length>0) {
- for(File ff:fs) {
- obtainFiles(ff);
- }
- }
- }
- }
- }
输出:
F:\test是文件夹
F:\test\file1是文件夹
F:\test\file2是文件夹
F:\test\file3是文件夹
F:\test\file4是文件夹
F:\test\test1.txt是文件
F:\test\test2.txt是文件
F:\test\test3.txt是文件
F:\test\test4.txt是文件
java之java.io.File的相关方法的更多相关文章
- Java文件与io——File类
概念: File类:表示文件和目录路径名的抽象表示形式. File类可以实现文件的创建.删除.重命名.得到路径.创建时间等等,是唯一与文件本身有关的操作类. 例: public class FileD ...
- java.io.NotSerializableException: test.io.file.Student
java.io.NotSerializableException: test.io.file.Student at java.io.ObjectOutputStream.writeObject0 ...
- IO:File类(java.io.File)
public class File extends Object implements Serializable, Comparable<File> 构造方法: public File(S ...
- java.io.file
package cn.edu.tongji.cims.wade.system; import java.io.*; public class FileOperate { pub ...
- java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)
java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io. ...
- 【java IO File】统计项目代码总共多少行
统计项目代码总共有多少行 思想: 1.首先将不需要迭代的文件夹,保存在集合中,不满足的就是需要迭代的文件夹 2.将需要进行统计行数的代码文件保存在集合中,满足的就是需要计算文件行数的文件 3.迭代方法 ...
- java.io.File类
java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ...
- Java学习之IO之File类二
之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...
- Java学习之IO之File类一
File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...
随机推荐
- sed 使用介绍
第6周第4次课(4月26日) 课程内容: 9.4/9.5 sed 9.4/9.5 sed 操作实例如下 sed和grep比较起来,sed也可以实现grep的功能,但是没有颜色显示,sed强项是替换一些 ...
- libnl的移植
libnl简介 libnl是为了方便应用程序使用netlink接口而开发的一个库.这个库为原始netlink消息传递以及不同的netlink,family专用接口提供了一个统一的接口.libnl2.0 ...
- Linux内核设计与实现笔记_1_基本概念
Linux内核设计与实现笔记_1_基本概念 操作系统 系统这个词包含了操作系统和所有运行在它上面的应用程序.操作系统是指在整个系统中负责完成分最基本功能和系统管理的那些部分,这些部分应该包括: 内核, ...
- 获取JVM转储文件的Java工具类
在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法.这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获 ...
- ios开发入门- WebView使用
转自:http://mahaile.blog.51cto.com/2891586/1021515/ 目标 : webview使用 在一些移动app中,有时程序会载入 外表的html 界面, andro ...
- [TimLinux] JavaScript 如何在AJAX中替换元素的图片
1. 示例代码 /* * <img id="idTestImg" src="/static/test.png" /> */ var idTestIm ...
- nitacm第十六届浙江大学宁波理工学院程序设计大赛总结
校赛时间:2019.11.30周六下午12:00-16:00 重现赛链接:https://ac.nowcoder.com/acm/contest/2995#question 体验: 11点多到达石鳞大 ...
- 2018 ACM-ICPC南京区域赛题解
解题过程 开场开A,A题shl看错题意,被制止.然后开始手推A,此时byf看错E题题意,开始上机.推出A的规律后,shl看了E题,发现题意读错.写完A题,忘记判断N=0的情况,WA+1.过了A后,sh ...
- 洛谷 题解 P1287 【盒子与球】
题解:P1287 盒子与球 不了解的:stirling数(斯特林数) - 百度百科 分析如下: 设有n个不同的球,分别用b1,b2,--bn表示.从中取出一个球bn,bn的放法有以下两种: 1) bn ...
- C# 利用反射更改父类公开对象
需求 : 有一个保存数据库字段的基础类,现在要加个状态返回给前端,但是又不能改基础类: class BaseA { public string Name { get; set; } } class A ...