文件I/O:从一个文件读取并写入另一个文件(Java)

Mik*_*ike 8 java io file

我目前正在我的cpe类中的一个实验室工作,我们必须创建一个简单的程序,它从.txt文件中扫描字符串并将它们打印到不同的.txt文件.到目前为止,我已经绘制了基本程序,但是我的异常一直在扔,尽管我有所有必要的文件.任何人都可以帮我调试吗?

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

public class FileIO {

public static void main(String args[]) {        
    try {
        File input = new File("input");
        File output = new File("output");
        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.");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

aio*_*obe 5

您需要确定它在哪里查找"input"文件.当您指定"input"它时,在当前工作目录中查找该文件.使用IDE时,此目录可能不是您认为的那样.

请尝试以下方法:

System.out.println(new File("input").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

查看它在哪里查找文件.


isv*_*all 5

也许你只是忘记了flush()

       try {
            File input = new File("input");
            File output = new File("output");
            Scanner sc = new Scanner(input);
            PrintWriter printer = new PrintWriter(output);
            while (sc.hasNextLine()) {
                String s = sc.nextLine();
                printer.write(s);
            }
            **printer.flush();**
        }
        catch (FileNotFoundException e) {
            System.err.println("File not found. Please scan in new file.");
        }
Run Code Online (Sandbox Code Playgroud)