将数据写入输出文件

时间:2015-09-02 23:18:02

标签: java io

我在文件input.txt中有数据。当我运行程序时,它会创建一个名为output.txt但不包含数据的文件。如何才能将数据显示在output.txt

import java.io.*;
import java.util.*;

public class DisplayFirstLetter {

    public static void main(String args[]) {        
        try {
            File input = new File("input.txt");
            File output = new File("output.txt");
            Scanner sc = new Scanner(input);
            PrintWriter printer = new PrintWriter(output);
            while(sc.hasNextLine()) {
                String s = sc.nextLine();
                printer.write(s);
            }
        }
        catch(FileNotFoundException e) {
            System.err.println("File not found. Please scan in new file.");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您需要关闭PrinterWriter才能写入output.txt文件。 定义扫描仪和打印机的推荐方法是使用尝试使用资源。扫描仪和打印机将在所有情况下自动关闭,包括抛出异常时的情况。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class DisplayFirstLetter {

    public static void main(String args[]) {
        File input = new File("input.txt");
        File output = new File("output.txt");

        try (Scanner sc = new Scanner(input);
             PrintWriter printer = new PrintWriter(output)) {

            while (sc.hasNextLine()) {
                String s = sc.nextLine();
                printer.write(s);
            }
        } catch (FileNotFoundException e) {
            System.err.println("File not found. Please scan in new file.");
        }
    }
}