java学习之文件基本操作
2015-03-28 16:53
477 查看
一、File类
文件的创建
目录输出
直接文件输出
路径输出
在建立一个文件的同时在文件夹内建立文件
注意:因为linux与windows的文件层次分隔符分别为/和\,所以为了实现代码的跨平台,本文中的\\皆可改为File.separator.
问题:列出某个目录下的全部文件(包括子目录中的子文件)
二、RandomAccessFile
构造方法:public RandomAccessFile(File file,String mode)throws FileNotFoundException
写操作:
文件的创建
package file; import java.io.File; import java.io.IOException; public class CreateFile { public static void main(String[] args) { // TODO 自动生成的方法存根 File file=new File("C:\\Users\\Public\\Desktop\\demo.txt"); try{ file.createNewFile(); }catch(IOException e){ e.printStackTrace(); } } }文件的删除
package file; import java.io.File; public class DeleteFile { public static void main(String[] args) { // TODO 自动生成的方法存根 File file = new File("C:\\Users\\Public\\Desktop\\demo.txt"); file.delete(); } }文件的查找
package file; import java.io.File; public class ExistFile { public static void main(String[] args) { // TODO 自动生成的方法存根 File file = new File("C:\\Users\\Public\\Desktop\\demo.txt"); if(file.exists()){ System.out.println("文件存在!"); }else{ System.out.println("文件不存在!"); } } }路径的判断
package file; import java.io.File; public class JudgeFile { public static void main(String[] args) { // TODO 自动生成的方法存根 File file1=new File("C:\\Users\\Public\\Desktop\\demo.txt"); File file2=new File("C:\\Users\\Public\\Desktop"); System.out.println(file1.isFile()); System.out.println(file2.isDirectory()); } }
目录输出
直接文件输出
package file; import java.io.File; public class FilePath { public static void main(String[] args) { // TODO 自动生成的方法存根 File file=new File("C:\\Users\\Public\\Desktop"); String path[]=file.list(); int len=path.length; for(int i=0;i<len;i++){ System.out.println(path[i]); } } }
路径输出
package file; import java.io.File; public class FilePath { public static void main(String[] args) { // TODO 自动生成的方法存根 File file=new File("C:\\Users\\Public\\Desktop"); File[] path=file.listFiles();//--------------------这里发生了改变,以File对象为数组元素 int len=path.length; for(int i=0;i<len;i++){ System.out.println(path[i]); } } }建立文件夹
package file; import java.io.File;
public class CreateDirect { public static void main(String[] args) { // TODO 自动生成的方法存根 File file=new File("C:\\Users\\Public\\Desktop\\demo"); file.mkdir();//创建demo文件夹 } } }
在建立一个文件的同时在文件夹内建立文件
package file; import java.io.File;
import java.io.IOException;
public class CreateDirect {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File file=new File("C:\\Users\\Public\\Desktop\\javatest\\demo.txt");
file.getParentFile().mkdir();//创建d\\javatest文件夹
try {
file.createNewFile();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
注意:因为linux与windows的文件层次分隔符分别为/和\,所以为了实现代码的跨平台,本文中的\\皆可改为File.separator.
问题:列出某个目录下的全部文件(包括子目录中的子文件)
import java.io.File; public class ListDirectoryDemo { public static void main(String[] args) { File file = new File("d:" + File.separator); list(file); } public static void list(File file) { if (file.isDirectory()) { File lists[] = file.listFiles(); if (lists != null) { for (int i = 0; i < lists.length; i++) { list(lists[i]);// 列出内容 } } } System.out.println(file); } }
二、RandomAccessFile
构造方法:public RandomAccessFile(File file,String mode)throws FileNotFoundException
写操作:
import java.io.File; import java.io.RandomAccessFile; public class RandomWrite { public static void main(String[] args) throws Exception {// 所有异常抛出 File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");// 指定要操作的文件 RandomAccessFile raf = new RandomAccessFile(file, "rw");// 以读写的形式进行操作 // 写入第一条数据 String name = "zhangsan";// 表示姓名 int age = 20; // 表示年龄 raf.writeBytes(name); // 以字节的方式将字符串写入 raf.writeInt(age); // 写入整型数据 // 写入第二条数据 name = "lisi ";// 表示姓名 age = 19; // 表示年龄 raf.writeBytes(name); // 以字节的方式将字符串写入 raf.writeInt(age); // 写入整型数据 // 写入第三条数据 name = "wangwu ";// 表示姓名 age = 21; // 表示年龄 raf.writeBytes(name); // 以字节的方式将字符串写入 raf.writeInt(age); // 写入整型数据 raf.close();// 文件操作的最后一定要关闭 } }读操作:
import java.io.File; import java.io.RandomAccessFile; public class RandomRead { public static void main(String[] args) throws Exception {// 所有异常抛出 File file = new File("C:\\Users\\Public\\Desktop\\demo.txt");// 指定要操作的文件 RandomAccessFile raf = new RandomAccessFile(file, "r");// 以读的形式进行操作 byte b[] = null;// 定义字节数组 String name = null; int age = 0; b = new byte[8]; raf.skipBytes(12); // 跨过第一个人的信息 System.out.println("第二个人的信息:"); for (int i = 0; i < 8; i++) { b[i] = raf.readByte(); // 读取字节 } age = raf.readInt();// 读取数字 System.out.println("\t|- 姓名:" + new String(b)); System.out.println("\t|- 年龄:" + age); raf.seek(0);// 回到开始位置 System.out.println("第一个人的信息:"); for (int i = 0; i < 8; i++) { b[i] = raf.readByte(); // 读取字节 } age = raf.readInt();// 读取数字 System.out.println("\t|- 姓名:" + new String(b)); System.out.println("\t|- 年龄:" + age); raf.skipBytes(12); // 跨过第二个人的信息 System.out.println("第三个人的信息:"); for (int i = 0; i < 8; i++) { b[i] = raf.readByte(); // 读取字节 } age = raf.readInt();// 读取数字 System.out.println("\t|- 姓名:" + new String(b)); System.out.println("\t|- 年龄:" + age); raf.close();// 文件操作的最后一定要关闭 } }
相关文章推荐
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- JAVA文件-基本操作学习笔记
- java学习之文件基本操作
- java线程学习1——线程基本概念和操作
- 【Java学习笔记】操作JAR文件
- 2011-08-30 交作业(java io 文件基本操作)
- JAVA学习提高之----JAVA开源项目之操作csv文件
- Java文件操作的基本概念和简单操作
- MongoDB在java中的操作-添,删,查 基本数据 文件存储 可使用
- java基本的读写文件操作
- Java使用基本JDK操作ZIP文件
- 菜鸟学习java文件操作(一)
- java文件操作学习笔记
- java关于文件操作的基本知识Demo
- java路径问题以及java对文件的基本操作信息
- java线程学习1——线程基本概念和操作
- java速度入四.文件的基本操作及猜数字游戏的实现
- Java基本文件操作大全
- java File的基本操作实例(目录及文件的 新建/拷贝/移动)
- linux学习入门3——linux文件基本操作(linuxcast.net)(复制、移动、重命名、创建、删除文件及文件夹)