java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容...

 1 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileInputStream;
 7 import java.io.FileNotFoundException;
 8 import java.io.FileOutputStream;
 9 import java.io.IOException;
10 import java.io.InputStreamReader;
11 import java.io.OutputStreamWriter;
12 import java.io.UnsupportedEncodingException;
13 
14 /**
15  * 文件读取四步骤
16  * ---------要保证文件存在,不能保证就需判断是否存在,在这里手动创建一个文件text.txt以确保存在
17  * 1:获取文件
18  * 2:将文件写入到文件输入流中<文件输入流是字节流>
19  * 3:将文件流写入到输入流Reader中
20  * 4:将输入流文件放到缓冲流BufferReader中
21  * 四步骤:执行完毕文件会读入缓冲流
22  * 5:从缓冲流中每次读取一行打印输出
23  * 6:关闭资源<流>
24  * 文件写出同理:
25  * @author NEXT_NiGHT
26  *
27  */
28 public class FileRW {
29 
30     public static void main(String[] args) {
31     //----------------------文件读入    
32         //1
33         File file = new File("text.txt");
34         try {
35             //2
36             FileInputStream fis=new FileInputStream(file);
37             //3
38             InputStreamReader isr=new InputStreamReader(fis,"utf-8");//FileInputStream字符流转换成字节流要注意编码
39             //4
40             BufferedReader br=new BufferedReader(isr);
41           //5
42             String line;//用来保存读取到的数据
43             while((line = br.readLine())!=null){//每次读取一行不为空
44                 System.out.println(line);
45             }
46         //6
47             br.close();
48             isr.close();
49             fis.close();
50             
51 
52     //----------------------文件写出
53             //1链接文件<要写出的位置>
54             File file2=new File("newtext.txt");
55             //2文件输出流
56             FileOutputStream fos=new FileOutputStream(file2);
57             //3输出流
58             OutputStreamWriter os=new OutputStreamWriter(fos,"utf-8");
59             //4写入缓冲流
60             BufferedWriter bw=new BufferedWriter(os);
61             //5写入
62             bw.write("七月七日长生殿\n");
63             bw.write("夜半无人私语时\n");
64             bw.write("在天月作比翼鸟\n");
65             bw.write("在地愿为连理枝\n");
66             //6关闭资源
67             bw.close();
68             os.close();
69             fos.close();
70         } catch (FileNotFoundException e) {
71             e.printStackTrace();
72         } catch (UnsupportedEncodingException e) {
73             e.printStackTrace();
74         } catch (IOException e) {
75             e.printStackTrace();
76         }
77     
78     
79     
80     
81     }
82 }

以上代码完整阐述了从文件中读取的内容并打印输出,以及如何向一个文件中写入内容:

完整的eclise java代码,可直接运行;

text.txt文件:

七月七日长生殿
夜半无人私语时
在天愿作比翼鸟
在地愿为连理枝

  

注意:

  33行位置链接一个文件,若此时文件不存在那么进行后面的操作就会报异常,提示文件不存在。如果未进行文件是否存在的判定那么就必须保证文件是存在的。所以运行之前要在工程中创建一个文件text.txt

  55行的位置同样链接了一个文件,若文件不存在是否后续操作也会报异常呢?答案是否定的,56行的操作会自动创建一个文件,并且后面写入内容时会存入此文件

  62行写入文件时用到了write这个函数,执行完毕后如果我们换掉写入的内容,那么newtext.txt这个文件中的内容将是新的内容,write函数将会覆盖掉文件原来的内容

                                                                         2015-07-20

转载于:https://www.cnblogs.com/NextNight/p/4662949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值