File I/O(1)
来源:互联网 发布:医生推荐学护肤品 知乎 编辑:程序博客网 时间:2024/06/05 21:51
当程序位于内存中并且属于特定的类型时,程序才能够操作他们,然而大多数数据并不存在内存中,而是以文件形式存放在外部的磁盘中。(文件是指相关记录或放在一起的数据的集合)java.io包提供了一些接口和类对文件进行基本的操作,包括对文件和目录属性的操作,对文件读写的操作等。
File对象:
File对象既可以表示文件也可以表示目录,一个File对象可以代表一个文件或者目录,利用file可以对文件或目录进行基本操作。
分割符:
windows系统中,文件路径名的分隔符可以使用正斜杠“/”或者反斜杠“\”(第一个反斜杠代表转义)
例如:C:/text.txt 等价于C:\text.txt
绝对路径&相对路径:
绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe。(实际上,严格的相对路径写法应为.\system32\cmd.exe)其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
假如当前路径为c:\program files要调用上述命令,则需要输入..\windows\system32\cmd.exe其中,..为父目录。
案例:
1.对文件夹进行增加,查询,修改,删除。
package test;import java.io.File;import java.text.SimpleDateFormat;public class Main { public static void main(String[] args) { File file=new File("D:/java1"); Main m=new Main(); m.createfile(file); m.rename(file); m.showfile(file); //m.delete(file); } public void showfile(File file){ if(file.exists()){ if(file.isFile()){//判断是否是文件 System.out.println("是文件"); System.out.println("名称:"+file.getName()); System.out.println("相对路径:"+file.getPath()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("文件大小:"+file.length()+"字节"); } if(file.isDirectory()){//判断是否是文件夹 System.out.println("是目录"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:MM:ss"); System.out.println("最后修改时间:"+sdf.format(file.lastModified())); } }else{ System.out.println("文件不存在"); } } public void createfile(File file){ if(!file.exists()){ //file.mkdir();//创建文件夹,主要指子文件夹,如果父文件夹不存在无法创建 file.mkdirs();//创建文件夹,如果父文件夹不存在会帮你创建,并创建子文件夹(推荐使用) System.out.println("创建文件夹"); } } public void delete(File file){ if(file.exists()){ file.delete();//删除文件 System.out.println("文件已删除"); } } public void rename(File file){ if(file.exists()){ File file1=new File("D:\\java1"); file.renameTo(file1);//重命名为file1路径 } }}
2.对文件进行增加,查询,修改,删除
package test;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;public class Main { public static void main(String[] args) { File file=new File("D:/java.txt"); Main m=new Main(); m.createfile(file); m.rename(file); //注意,如果重命名后原来的文件路径就查询不到了,所以显示文件不存在,后续也无法删除 m.showfile(file); m.delete(file); } public void showfile(File file){ if(file.exists()){ if(file.isFile()){//判断是否是文件 System.out.println("是文件"); System.out.println("名称:"+file.getName()); System.out.println("相对路径:"+file.getPath()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("文件大小:"+file.length()+"字节"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:MM:ss"); System.out.println("最后修改时间:"+sdf.format(file.lastModified())); } if(file.isDirectory()){//判断是否是文件夹 System.out.println("是目录"); } }else{ System.out.println("文件不存在"); } } public void createfile(File file){ if(!file.exists()){ try { file.createNewFile();//创建指定名称的空文件,不是文件夹 System.out.println("创建文件"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void delete(File file){ if(file.exists()){ file.delete();//删除文件 System.out.println("文件已删除"); } } public void rename(File file){ if(file.exists()){ File file1=new File("D:/java1.txt"); file.renameTo(file1);//重命名为file1路径 System.out.println("文件重命名"); } }}
3.获取指定目录下所有文件和文件夹名称
(list()和listFiles()两种用法,对应String[]和File[]两种返回值)
public class Test { //list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 //listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组 public static void main(String[] args) throws ParseException { File file=new File("D:\\"); File files[]=file.listFiles();//返回某个目录下所有文件和目录的绝对路径,返回的是File数组 for(File li:files){ if(li.isFile()){//可以继续进行判断筛选 System.out.println(li); } } String s[]=file.list();//返回某个目录下的所有文件和目录的文件名,返回的是String数组 for(String li:s){ System.out.println(li);//无法继续进行判断筛选 } } }
阅读全文
1 0
- File I/O(1)
- File I/O(2)
- I/O 输入与输出(1) -- File类
- I/O流之File类常用方法(1)
- I/O Concepts (1) : File Buffering
- java I/O系统(1)-File类
- JAVA I/O(一) File类
- linux file I/O
- Linux file I/O
- C++ File I/O
- FILE I/O
- Multithreaded File I/O
- FILE I/O
- Python File I/O
- I/O 1.0 File
- File I/O
- C++ File I/O
- I/O----File类
- (HDOJ)2044——一只小蜜蜂...(递推)
- 65.设计模式笔记-原型模式
- Jquery中的事件与传统的javascript中事件区别: Jquery中事件允许绑定多个函数,而javascript中一个事件只能绑定一个函数.
- Spring中Bean的生成过程
- 四、关于数组的认识、int和integer的区别
- File I/O(1)
- oracle之 数据泵dump文件存放nfs报ORA-27054
- java面向对象之计算圆的面积
- 性能更好的js动画实现方式——requestAnimationFrame
- ssm框架定时任务报错
- 弹性盒子模型(flex)
- python设计模式(代理模式)
- .load()和get()的区别
- 剑指offer——面试题3:找出数组中重复的数字