任务是读取文件,创建与输入文件匹配但添加数字行的新文件
我有几个例子可以复制。我尝试了新的File(),新的FileReader()和BufferedReader()。我似乎无法从输入文件中获取任何数据
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.ArrayList;
public class Hw1_43 {
public static void main(String[] args) throws FileNotFoundException
{
// Prompt user for input file name
Scanner in = new Scanner(System.in);
System.out.print("Enter input file name: ");
String inputFileName = in.next(); // instantiate input file name for later use
Scanner inputFile = new Scanner(new FileReader(inputFileName));
//ArrayList<String> line = new ArrayList();
int counter = 0;
while (inputFile.hasNextLine()) {
String line = inputFile.nextLine();
System.out.println(counter + line);
counter ++;
}
System.out.println(inputFileName);
}
}
还让我将输入文件读取并将其写入输出文件之后,输出文件在哪里,以便可以查看它以确保它正确无误?
答案 0 :(得分:0)
FileReader仅从文件读取。您需要创建一个FileWriter,该文件可写入文件(例如FileWriter outputFile = new FileWriter(“ C:/tmp/output_file.txt”))。当您从FileWriter中读取内容时,请在每行前添加行号,然后写入FileWriter。
我建议使用BufferedReader而不是Scanner。然后,您可以使用.readLine()或.lines()方法,然后将它们流式传输到BufferedWriter中。