现在位置: 首页 > 博客文章 > 电脑相关 > IT开发 > 开发语言 > Java > 正文
Java中文本文件的输出和输入
2015年08月28日 15:50:25 Java ⁄ 共 1813字 暂无评论 ⁄ 被围观 1,739次

1. 用 PrintWriter 类输出,该类是向文本文件写入时常用的流类,主要代码为:

Code   ViewPrint
  1. PrintWriter writer = null;
  2. try {
  3.     writer = new PrintWriter(new FileOutputStream("out.txt"));
  4. catch (FileNotFoundException e) {
  5.     System.out.println("Error opening the file out.txt.");
  6.     System.exit(0);
  7. }
  8. writer.println("需要写入文件的字符");
  9. writer.close();

上面的方式将一个文件连接到一个流时,程序都是以空文件开始的。如果已经存在 out.txt 文件了,原内容会丢失;如果不存在,则会自动创建一个新的 out.txt 文件,再写入数据。

当然,如果想在原内容后追加,则需要添加一个参数,如下:

  1. writer = new PrintWriter(new FileOutputStream("out.txt"true));
  2. // 官方解释:if true, then bytes will be written to the end of the file rather than the beginning

2. 用 FileOutputStream 类输出,上面方式是用 FileOutputStream 类创建了一个可以用作 PrintWriter 构造器实参的流,而下面直接输出字节流,主要代码如下:

Code   ViewPrint
  1. FileOutputStream out = null;
  2. File file = new File("123.txt");
  3. if (file.exists()) {
  4.     System.out.println("123.txt已存在!");
  5.     try {
  6.         out = new FileOutputStream(file, true);
  7.     } catch (FileNotFoundException e) {
  8.         e.printStackTrace();
  9.     }
  10.     StringBuffer sb = new StringBuffer();
  11.     DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  12.     sb.append("\r\n" + df.format(new Date()));
  13.     byte[] b = "需要写入文件的字符".getBytes();
  14.     try {
  15.         out.write(b);
  16.         out.close();
  17.     } catch (IOException e) {
  18.         e.printStackTrace();
  19.     }
  20. else {
  21.     try {
  22.         file.createNewFile();
  23.         System.out.println("123.txt创建成功!");
  24.     } catch (IOException e) {
  25.         e.printStackTrace();
  26.     }
  27. }

3. 用 BufferedReader 类从文本文件中读取数据。主要代码为:

Code   ViewPrint
  1. try {
  2.     BufferedReader in = new BufferedReader(new FileReader("data.txt"));
  3.     String line = null;
  4.     line = in.readLine();
  5.     System.out.println("读入的字符串为:" + line);
  6.     in.close();
  7. catch (FileNotFoundException e) {
  8.     System.out.println("File data.txt was not found or could not be opened.");
  9. catch (IOException e) {
  10.     System.out.println("Error reading from file data.txt.");
  11. }

给我留言

留言无头像?