package ios;
import java.io.File;
import java.io.IOException;
public class IODemo01 {
/**
* @param args
* 在D盘上创建一个quanleilei.txt的记事本文件
*/
public static void main(String[] args) {
File f = new File("d://quanleilei.doc");// 注意这里的路径必须是双反斜杠
try {
f.createNewFile();//通过它创建的时候会进行判断,如果文件已经存在则不会在重新创建
} catch (IOException e) {
e.printStackTrace();
}
}
}
创建文件
import java.io.File;
public class Test {
public static void main(String[] args) {
File f = new File("C://Program Files//Genuitec", "output");
if (!f.isDirectory()) {
f.mkdir();
} else {
System.out.println("output文件夹已经存在!");
}
}
}
复制文件
import java.io.*;
public class Demo {
public static void main(String[] args) {
File f = new File("D:/");
copyJavaFile(f);
}
public static void copyJavaFile(File f){
if(f.isFile()){
String s = f.getPath();
}else{
String [] str = f.list();
for(int i= 0;i<str.length;i++){
File ff = new File(f.getPath()+"/"+str[i]);
copyJavaFile(ff);
}
}
}
}
package ios;
import java.io.File;
import java.io.IOException;
public class IODemo02 {
/**
* @param args
* 判斷文件是否存在用f.exists(),如果文件存在则不创建它,如果不存在则创建它
*/
public static void main(String[] args) {
File f = new File("D://quanleilei.txt");
if (f.exists()) {
System.out.println("文件已经存在");
} else {
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("文件被创建");
}
}
}
package ios;
import java.io.File;
import java.io.IOException;
public class IODemo03 {
/**
* @param args
* 判断文件存在则删除它,不存在则创建它
*/
public static void main(String[] args) {
File f = new File("D://quanleilei.txt");
if (f.exists()) {
f.delete();
System.out.println("文件存在且已经被删除");
} else {
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("文件不存在且已经被创建");
}
}
}
package ios;
import java.io.File;
public class IODemo04 {
/**
* @param args
* 用list列出所有的文件
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("C://Program Files//Messenger");// 但是如果当中有一个文件不是目录的话会报空指向异常
// 列出此目录下的所有文件
String str[] = f.list();
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
System.out.println("总共有" + str.length + "个文件");
}
}
package ios;
import java.io.File;
public class IODemo05 {
/**
* @param args
* 判断是否是目录,然后用list列出所有的文件
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("C://Program Files//Messenger//online.wav");// 但是如果当中有一个文件不是目录的话会报空指向异常
// 列出此目录下的所有文件
if (f.isDirectory()) {
String str[] = f.list();
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
System.out.println("总共有" + str.length + "个文件");
} else {
System.out.println("当中有一个文件不是目录");
}
}
}
package ios;
import java.io.File;
public class IODemo06 {
/*
* 通过递归列出整个文件中所有的文件名称以及路径
*/
public void recurseInDirFrom(String dirItem) {
File file = new File(dirItem);
String list[];
if (file.isDirectory()) {
list = file.list();
for (int i = 0; i < list.length; i++) {
recurseInDirFrom(dirItem + File.separatorChar + list[i]);//表示分割字符,在windows中表示/
file.delete();
}
System.out.println(dirItem);
}
}
/**
* @param args
* 调用递归
*/
public static void main(String[] args) {
IODemo06 iod = new IODemo06();
String temp = "D://Program Files//Tencent//QQ//Users";
iod.recurseInDirFrom(temp);
}
}
package ios;
import java.io.File;
public class IODemo07 {
//递归操作时自己调用自己,会很耗性能
public static void loop(String dir) {
File f = new File(dir);
String str[] = null;
if (f.isDirectory()) {
str = f.list();
for (int i = 0; i < str.length; i++) {
loop(dir + f.separatorChar + str[i]);
}
} else {
System.out.println(dir);
}
}
public static void main(String[] args) {
loop("D://Program Files//Tencent//QQ//Users");
}
}
package ios;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class IODemo08 {
/**
* @param args
*/
public static void main(String[] args) {
try {
RandomAccessFile raf = new RandomAccessFile("D://quanleilei.txt", "rw");
String name = "zhangsan";
int age = 20;
raf.writeChars(name);
raf.writeChar(age);
raf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
遍历一个文件夹中所有的文件
import java.io.File;
public class 遍历一个文件夹所有文件 {
//找出一个文件夹中所有的以 rmvb结束的文件
public static void main(String arg[])
{
File file=new File("c:/");
find(file);
}
public static void find(File file)
{
if(file.isFile())
{
String a=file.getPath();
if(panduan(a))
System.out.println(a);
}
else
{
String [] str=file.list();
for(int i=0;i<str.length;i++)
{
File fi= new File(file.getPath()+"/"+str[i]);
find(fi);
}
}
}
public static boolean panduan(String str)
{
if(str.length()<=6)
return false;
if("rmvb".equals(str.substring(str.length()-4,str.length())))
return true;
return false;
}
}
查找子文件
import java.io.File;
public class 显示文件子文件 {
public static void main(String arg[])
{
String s="c:/";
File f=new File(s);
if(f.isDirectory())
{
String str[]=f.list();
for(int i=0;i<str.length;i++)
{
File fil=new File(s+"/"+str[i]);
if(fil.isFile())
System.out.println(str[i]+"是文件");
else
System.out.println(str[i]+"是目录");
}
}
else
{
System.out.println("不是路径");
}
}
}