JAVA文件操作基础
来源:互联网 发布:手机数据上网慢怎么办 编辑:程序博客网 时间:2024/06/06 18:33
闲来无事,想做一个小小的即时网络聊天工具,这就涉及到JAVA网络编程。而网络编程又是以一系列的I/O操作为基础的,还会涉及到诸如加密算法、多线程等领域。
此篇文章记述我在学习文件操作时所练代码,代码如下:
import java.io.File;public class IOTest {/** * @param args * @throws IOException */public static void main(String[] args) {//Create file objectFile f1 = new File("d:\\test");File f2 = new File("1.txt");File f3 = new File("f:\\file.txt");File f4 = new File ("d:\\","1.txt");//Create filestry {boolean b = f3.createNewFile();}catch(Exception e) {e.printStackTrace();}//Judge if the file existSystem.out.println(f4.exists());//Get absolute pathSystem.out.println(f3.getAbsolutePath());//Get file nameSystem.out.println(f3.getName());//Get parent directorySystem.out.println(f3.getParent());//Judge if it is a directorySystem.out.println(f1.isDirectory());//Judge if it is a fileSystem.out.println(f3.isFile());//Get file lengthSystem.out.println(f3.length());//Get all files and directories' names under current directoryString[] s = f1.list();for (int i = 0; i < s.length; i++){System.out.println(s[i]);}//Get file objectFile[] f5 = f1.listFiles();for (int i = 0; i < f5.length; i++){System.out.println("f" + f5[i]);}//create directoryFile f6 = new File("f:\\test\\abc");boolean b1 = f6.mkdir();System.out.println(b1);b1 = f6.mkdirs();//Rename fileFile f7 = new File("f:\\a.txt");boolean b2 = f3.renameTo(f7);System.out.println(b2);//Set read onlyf7.setReadOnly();}}
下面这部分是文件的名称打印和删除操作,由于无法直接删除一个非空目录,所以删除非空目录需要先删除其目录下的所有子目录,这就涉及到一个递归遍历问题,代码如下:
import java.io.File;public class AdvanceFileDemo {/** * Advanced file operation demo */public static void main(String[] args) {// TODO Auto-generated method stubFile f = new File("f:\\Book");printAllFile(f);File f1 = new File("d:\\test");deleteAll(f1);}/** * print all the directories and files under current directory * @param f File object */public static void printAllFile (File f) {//Print current file nameSystem.out.println(f.getName());//If it is a directoryif (f.isDirectory()) {//Get all sub-directories and filesFile [] f1 = f.listFiles();int len = f1.length;for (int i = 0; i < len; i++) {printAllFile(f1[i]);}}}/** * Delete all files * @param f File object */public static void deleteAll (File f) {//If it is a single fileif (f.isFile()) {f.delete();} else { File f1[] = f.listFiles();int len = f1.length;//delete sub-filesfor (int i = 0; i < len; i++) {deleteAll(f1[i]);}//delete current filef.delete();}}}
- Java文件操作基础
- java 文件基础操作
- JAVA文件操作基础
- java基础文件操作
- Java基础复习:文件操作
- 【Java基础】文件IO操作
- java基础—文件操作
- Java 文件操作基础之流操作
- Java-基础 文件操作IO-文件写入
- Java-基础 文件操作IO-删除文件
- Java-基础 文件操作IO 重命名文件
- Java基础--Properties类操作.properties文件
- Java基础--Properties类操作.properties文件
- Java基础--IO文件操作-RandomAccessFile
- Java基础--文件数据IO操作
- Java-基础 文件操作 创建临时文件
- java基础 —— 文件操作
- Java IO 操作基础1---普通文件的相关操作
- 日期DatePicker和时间TimePicker
- GDB调试应用
- Deep Learning论文笔记之(三)单层非监督学习网络分析
- 常用设计模式概览
- 单例传值 南哥教的
- JAVA文件操作基础
- vmware 虚拟机删除磁盘带来的问题
- ubuntu 12.04使用gedit打开txt文件中文乱码的处理方法
- ZFS文件系统(8) -- SLOG
- opengl绘制线
- 浏览器复制功能。
- &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
- 树状数组,小结_(优雅的数据结构)
- 用data-xxx自定义的属性名最好全部小写