码迷,mamicode.com
首页 > 编程语言 > 详细

Java File I/O

时间:2016-04-06 21:45:27      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

示例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 }
View Code

 

Java File I/O

标签:

原文地址:http://www.cnblogs.com/zhouzhuang/p/5361020.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!