对文件进行操作
来源:互联网 发布:autodesk软件介绍 编辑:程序博客网 时间:2024/05/16 17:07
此程序主要用于学习如何创建文件夹,如何创建文件并在文件中写入数据,以及读取文件中存在的数据!
还有就是查找某个目录下的所有文件并且判断是目录还是文件!
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class test {
//用于测试的主测序
public static void main(String[] args) {
List<Person> list = new ArrayList<Person>();
for (int i = 0; i < 3; i++) {
Person ps = new Person();
ps.setName("大家名字一样,呵呵");
ps.setAge(i);
ps.setPhone("AAAAAAAAA");
list.add(ps);
}
System.out.println("是否自己指定文件创建的目录?{y(是)/n(否)}");
Scanner sc = new Scanner(System.in);
String x = sc.next();
String path = null;
if(x.equalsIgnoreCase("y")){
System.out.println("请输入文件创建的目录。如:/"d://src/"");
path = sc.next();
}else{
path = "d://src//123";
}
test sj = new test();
File f = new File(path);
sj.testFile(f, list);
sj.testAllList(f);
}
public void testFile(File dir,List<Person> list) {
if (dir.exists()) {
if (dir.isDirectory()) {
System.out.println("此目录已经存在");
}
} else {
try {
dir.mkdirs();
System.out.println("目录创建成功");
} catch (Exception ef) {
System.out.println("目录创建出错");
}
}
//创建九个text文档,并向文档中写入一些信息
for (int i = 0; i < 9; i++) {
File f = new File(dir.getPath(), i + ".txt");
if (f.exists())
continue;
try {
f.createNewFile();
System.out.println(list.size());
System.out.println(dir.getPath() + "//" + f.getName());
RandomAccessFile raf = new RandomAccessFile(dir.getPath() + "//" + f.getName(),"rw");
//FileWriter out = new FileWriter(dir.getPath() + "//" + f.getName());
for (int j = 0; j < list.size(); j++) {
Person ps = (Person) list.get(j);
raf.write(ps.getName().getBytes());
raf.write(ps.getAge());
raf.write(ps.getPhone().getBytes());
}
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(dir.getPath() + "//" + f.getName());
}
}
//得到目录下的所有文件,其中目录也是一个特殊的文件
public void testAllList(File allList) {
File[] fileArray = allList.listFiles();
if (null == fileArray)
return;
for (int i = 0; i < fileArray.length; i++) {
if (fileArray[i].isDirectory()) {
System.out.println("目录: " + fileArray[i].getAbsolutePath());
testAllList(fileArray[i].getAbsoluteFile());
} else if (fileArray[i].isFile()) {
System.out.println("文件: " + fileArray[i].getAbsolutePath());
try {
//第一种读取文件数据的方法,RandomAccessFile拥有异常强大的文件操作方法
RandomAccessFile raf = new RandomAccessFile(fileArray[i].getAbsolutePath(),"rw");
byte[] buf = new byte[1024];
int len = raf.read(buf);
//第二种读取文件数据的方法
//char[] buf = new char[1024];
//FileReader in = new FileReader(fileArray[i].getAbsolutePath());
//int len = in.read(buf);
System.out.println(new String(buf,0,len));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
System.out.println("文件名-->其他文件");
}
}
}
}
- 对文件进行操作
- 对文件进行操作
- 对文件进行操作
- C对文件进行操作
- 对CSV文件进行操作
- 对注册表文件进行操作
- 使用yacc对文件进行操作
- C++中对文件进行读写操作
- 对服务器端文件进行写操作
- 对Ini文件进行操作的类
- 驱动程序中对文件进行操作-Kmdtut
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- C++中对文件进行读写操作
- Unicode下CString(wchar_t)转换为 char*
- 使用jquery实现弹出层效果
- 林永坚 《Silverlight for Windows Phone开发》系列视频 (共16课)
- 公钥系统/数字签名/数字证书工作原理入门
- dos命令,大全,全集
- 对文件进行操作
- Perl学习之一:环境搭建
- exp1 && exp2 || exp3 的逻辑
- 设置锚点
- dllmain
- 计算机专业开发工程师人生之路,职业发展方向规划(强烈推荐,分析的透彻!)
- 关于frame/iframe的onreadystatechange事件
- 事务隔离级别概念
- Code::Blocks 编译参数的相关设置