标签:
示例1:使用File类操作文件或目录属性
1 package jbit.io; 2 3 import java.io.*; 4 public class FileMethods { 5 public static void main(String[] args) { 6 FileMethods2 fm=new FileMethods2(); 7 File file=null; 8 file=new File("D:\\myDoc\\test.txt"); 9 //fm.create(file); 10 fm.showFileInfo(file); 11 //fm.delete(file); 12 } 13 /** 14 * 创建文件的方法 15 * @param file 文件对象 16 */ 17 public void create(File file){ 18 if(!file.exists()){ 19 try { 20 file.createNewFile(); 21 System.out.println("文件已创建!"); 22 } catch (IOException e) { 23 e.printStackTrace(); 24 } 25 } 26 } 27 /** 28 * 删除文件 29 * @param file 文件对象 30 */ 31 public void delete(File file){ 32 if(file.exists()){ 33 file.delete(); 34 System.out.println("文件已删除!"); 35 } 36 } 37 38 /** 39 * 显示文件信息 40 * @param file 文件对象 41 */ 42 public void showFileInfo(File file){ 43 if(file.exists()){ //判断文件是否存在 44 if(file.isFile()){ //如果是文件 45 System.out.println("名称:" + file .getName()); 46 System.out.println("相对路径: " + file.getPath()); 47 System.out.println("绝对路径: " + file.getAbsolutePath()); 48 System.out.println("文件大小:" + file.length()+ " 字节"); 49 } 50 if(file.isDirectory()){ 51 System.out.println("此文件是目录"); 52 } 53 }else 54 System.out.println("文件不存在"); 55 } 56 }
示例2:使用FileInputStream类读取文本文件
1 package jbit.io; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 public class InputAndOutputFile { 9 public static void main(String[] args) { 10 FileInputStream fis=null; 11 FileOutputStream fos=null; 12 try { 13 //1、创建输入流对,负责读取D:/ 我的青春谁做主.txt文件 14 fis = new FileInputStream("D:/我的青春谁做主.txt"); 15 //2、创建输出流对象 16 fos = new FileOutputStream("C:/myFile/myPrime.txt",true); 17 //3、创建中转站数组,存放每次读取的内容 18 byte[] words=new byte[1024]; 19 //4、通过循环实现文件读取 20 while((fis.read())!=-1){ 21 fis.read(words); 22 fos.write(words, 0, words.length); 23 } 24 System.out.println("复制完成,请查看文件!"); 25 } catch (FileNotFoundException e) { 26 e.printStackTrace(); 27 } catch (IOException e) { 28 e.printStackTrace(); 29 }finally{ 30 //5、关闭流 31 try { 32 if(fos!=null) 33 fos.close(); 34 if(fis!=null) 35 fis.close(); 36 } catch (IOException e) { 37 e.printStackTrace(); 38 } 39 40 } 41 } 42 }
示例3:使用FileOutputStream类向文本文件写数据
1 package jbit.io; 2 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 6 public class FileOutputStreamTest { 7 8 public static void main(String[] args) { 9 FileOutputStream fos=null; 10 try { 11 String str ="好好学习Java"; 12 byte[] words = str.getBytes(); 13 fos = new FileOutputStream("D:\\myDoc\\hello.txt"); 14 fos.write(words, 0, words.length); 15 System.out.println("hello文件已更新!"); 16 }catch (IOException obj) { 17 System.out.println("创建文件时出错!"); 18 }finally{ 19 try{ 20 if(fos!=null) 21 fos.close(); 22 }catch (IOException e) { 23 e.printStackTrace(); 24 } 25 } 26 } 27 }
示例4:使用FileReader读取文本文件
1 package jbit.io; 2 import java.io.FileNotFoundException; 3 import java.io.FileReader; 4 import java.io.IOException; 5 import java.io.Reader; 6 7 public class FileReaderTest { 8 9 /** 10 * @param args 11 */ 12 public static void main(String[] args) { 13 //创建 FileReader对象对象. 14 Reader fr=null; 15 StringBuffer sbf=null; 16 try { 17 fr = new FileReader("D:\\myDoc\\简介.txt"); 18 char ch[]=new char[1024]; //创建字符数组作为中转站 19 sbf=new StringBuffer(); 20 int length=fr.read(ch); //将字符读入数组 21 //循环读取并追加字符 22 while ((length!= -1)) { 23 sbf.append(ch); //追加到字符串 24 length=fr.read(); 25 } 26 } catch (FileNotFoundException e) { 27 e.printStackTrace(); 28 } catch (IOException e) { 29 e.printStackTrace(); 30 } finally{ 31 try { 32 if(fr!=null) 33 fr.close(); 34 } catch (IOException e) { 35 e.printStackTrace(); 36 } 37 } 38 System.out.println(sbf.toString()); 39 } 40 41 }
示例5:使用BufferedReader和FileReader读取文本文件
1 package jbit.io; 2 import java.io.*; 3 public class BufferedReaderTest { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 FileReader fr=null; 10 BufferedReader br=null; 11 try { 12 //创建一个FileReader对象 13 fr=new FileReader("D:\\myDoc\\hello.txt"); 14 //创建一个BufferedReader 对象 15 br=new BufferedReader(fr); 16 //读取一行数据 17 String line=br.readLine(); 18 while(line!=null){ 19 System.out.println(line); 20 line=br.readLine(); 21 } 22 }catch(IOException e){ 23 System.out.println("文件不存在!"); 24 }finally{ 25 try { 26 //关闭 流 27 if(br!=null) 28 br.close(); 29 if(fr!=null) 30 fr.close(); 31 } catch (IOException e) { 32 e.printStackTrace(); 33 } 34 } 35 } 36 }
示例6:使用FileWriter类向文本文件写数据
1 package jbit.io; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.FileReader; 6 import java.io.FileWriter; 7 import java.io.IOException; 8 import java.io.Writer; 9 10 public class WriterFiletTest { 11 12 /** 13 * @param args 14 */ 15 public static void main(String[] args) { 16 Writer fw=null; 17 try { 18 //创建一个FileWriter对象 19 fw=new FileWriter("D:\\myDoc\\简介.txt"); 20 //写入信息 21 fw.write("我热爱我的团队!"); 22 fw.flush(); //刷新缓冲区 23 24 }catch(IOException e){ 25 System.out.println("文件不存在!"); 26 }finally{ 27 try { 28 if(fw!=null) 29 fw.close(); //关闭流 30 } catch (IOException e) { 31 e.printStackTrace(); 32 } 33 } 34 } 35 36 }
示例7:使用BufferedWriter和FileWriter类写文本文件
1 package jbit.io; 2 import java.io.*; 3 public class BufferedWriterTest { 4 public static void main(String[] args) { 5 FileWriter fw=null; 6 BufferedWriter bw=null; 7 FileReader fr=null; 8 BufferedReader br=null; 9 try { 10 //创建一个FileWriter 对象 11 fw=new FileWriter("D:\\myDoc\\hello.txt"); 12 //创建一个BufferedWriter 对象 13 bw=new BufferedWriter(fw); 14 bw.write("大家好!"); 15 bw.write("我正在学习BufferedWriter。"); 16 bw.newLine(); 17 bw.write("请多多指教!"); 18 bw.newLine(); 19 bw.flush(); 20 21 //读取文件内容 22 fr=new FileReader("D:\\myDoc\\hello.txt"); 23 br=new BufferedReader(fr); 24 String line=br.readLine(); 25 while(line!=null){ 26 System.out.println(line); 27 line=br.readLine(); 28 } 29 30 fr.close(); 31 }catch(IOException e){ 32 System.out.println("文件不存在!"); 33 }finally{ 34 try{ 35 if(fw!=null) 36 fw.close(); 37 if(br!=null) 38 br.close(); 39 if(fr!=null) 40 fr.close(); 41 }catch(IOException ex){ 42 ex.printStackTrace(); 43 } 44 } 45 } 46 }
示例8:二进制文件的读写
1 package jbit.io; 2 import java.io.FileInputStream; 3 import java.io.DataInputStream; 4 import java.io.EOFException; 5 import java.io.IOException; 6 import java.io.FileOutputStream; 7 import java.io.DataOutputStream; 8 9 public class ReadAndWriteBinaryFile { 10 11 public static void main(String[] args) { 12 DataInputStream dis = null; 13 DataOutputStream out =null; 14 try { 15 //创建输出流对象 16 FileInputStream fis = new FileInputStream("D:\\myDoc\\FileCopy.class"); 17 dis = new DataInputStream(fis); 18 //创建输入流对象 19 FileOutputStream outFile = new FileOutputStream("D:\\myDoc\\temp.class"); 20 out = new DataOutputStream(outFile); 21 int temp; 22 //读取文件并写入文件 23 while ( (temp = dis.read()) != -1) { 24 out.write(temp); 25 } 26 }catch (IOException ioe) { 27 ioe.printStackTrace(); 28 }finally{ 29 try{ 30 if(dis!=null) 31 dis.close(); 32 if(out!=null) 33 out.close(); 34 }catch(IOException ex){ 35 ex.printStackTrace(); 36 } 37 } 38 } 39 }
标签:
原文地址:http://www.cnblogs.com/zhouzhuang/p/5361020.html