0

複数行のランダム文字列を含む .txt ファイルを読み取り、偶数行を 1 つの .txt ファイルに、奇数行を別の .txt ファイルに入れるプログラムが必要です。エラーは発生しませんが、ファイルを確認すると空白です。助けてくれてありがとう:)

import java.util.*;
import java.io.*;
public class SplitFile
{
    public static void main(String[] args)
    {
        try 
        {
            // Open Scanner for file named args[0]
            Scanner scan = new Scanner(new File(args[0]));
            // Open a PrintWriter for file named args[1]
            PrintWriter file1 = new PrintWriter(new File(args[1]));
            // Open a PrintWriter for file named args[2]
            PrintWriter file2 = new PrintWriter(new File(args[2]));
            while (scan.hasNextLine())
            {
                // Read a line from scan
                // Write that line to file1
                file1.println(scan.nextLine() + ", ");

                if (scan.hasNextLine()) 
                {
                    // Read a line from scan
                    // Write that line to file2
                    file2.println(scan.nextLine() + ", ");
                }
            }
        }
        // Catch the IOException 
        catch (IOException ex)
        {
            System.out.println("Error: No Input Given");
            System.exit(0);
        }
    } 
}
4

1 に答える 1

4

PrintWriter を閉じて、出力をファイルにフラッシュする必要があります。ファイル操作が完了したら、次のことを行う必要があります。

file1.close();
file2.close();

注:を使用してライターを閉じることができるようにPrintWriter、ブロックの外側でオブジェクトを宣言することをお勧めします。tryfinally

于 2013-11-01T13:13:25.577 に答える