在本机的磁盘系统中,找一个文件夹,利用File类的提供方法,列出该文件夹中的所有文件的文件名和文件的路径,执行效果如下:
路径名:c:\temp\def.txt
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("c:\\temp");
String[] s = f.list();
for(String o :s){
System.out.println("文件名"+o);
System.out.println("绝对路径"+f.getAbsolutePath()+"\\"+o);
>System.out.println("=================================");
}
}
}
编写一个java程序实现文件复制功能,要求将d:/io/copysrc.doc中的内容复制到d:/io/copydes.doc中。
public class FileCopy {
public static void main(String args[]){
//实例化File对象
File f1 = new File("d:/io/copysrc.doc");
File f2 = new File("d:/io/copydes.doc");
FileInputStream fr = null;
FileOutputStream fw = null;
try {
//实例化文件输入流和输出流对象
fr = new FileInputStream(f1);
fw = new FileOutputStream(f2);
byte[] cbuf = new byte[fr.available()];
//通过输入流,读取原文件中的数据到字节数组cbuf中
fr.read(cbuf);
//将字节数组中的数据,写到文件输出流中
fw.write(cbuf);
System.out.println("文件复制成功");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
//关闭输入输出流
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
创建c:/test.txt文件并在其中输入"hello world"
创建一个输入流读取该文件中的文本
并且把小写的l变成大写L再利用输出流写入到d:\test.txt中
实现步骤:1.在本地硬盘C盘下创建一个文件test.txt
2.创建一个包含main()方法的类,并在main中编写代码
3.运行代码并且测试结果
实现过滤器的功能
效果显示:
public class Test {
public static void main(String[] args) {
FileReader f;
String s="";
BufferedReader br=null;
try {
f = new FileReader("c:\\test.txt");
br = new BufferedReader(f);
s = br.readLine();
System.out.println("源文件"+s);
s=s.replace("l", "L");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
BufferedWriter bw =null;
System.out.println(s);
try {
FileWriter fw = new FileWriter("d:\\test.txt");
bw = new BufferedWriter(fw);
bw.write(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
在程序中创建一个Student类型的对象,并把对象信息保存到d:/io/student.txt文件中,然后再从文件中把Student对象的信息读出显示在控制台上,Student类的描述如下:
class Student implements Serializable{
private static final long serialVersionUID = 1L;
String id;
String name;
String birth;
public Student(String id,String name,String birth){
this.id = id;
this.name = name;
this.birth = birth;
}
public String toString(){
return "id="+id+" name="+name+" birth="+birth;
}
}
public class SerializationExercise {
public static void main(String args[]){
Student s1 = new Student("A001","Lucy","1986-06-06");
try {
FileOutputStream fos = new FileOutputStream("d:\\io\\student.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
System.out.println("对象序列化...");
oos.writeObject(s1);
oos.flush();
oos.close();
} catch (FileNotFoundException e1) {
System.out.println(e1.getMessage());
} catch (IOException e2) {
System.out.println(e2.getMessage());
}
try {
FileInputStream fis = new FileInputStream("d:\\io\\student.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
System.out.println("反序列化...");
Student ss1 = (Student)ois.readObject();
System.out.println(ss1);
ois.close();
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
}
}