【发布时间】:2015-04-05 22:26:41
【问题描述】:
我的任务如下:
编写一个程序来读取附加的文本文件并写出一个单独的文本文件(使用您的名字首字母和姓氏作为文件名)。新文本文件应包含与输入文件相同的所有文本行,并添加一个行号作为该行的第一个字符。
例如:如果您的输入行显示为:
这是一个测试
你的输出应该是
- 这是一个测试
我已经编写了我认为主要是功能代码的内容 - 在运行它时会编译并创建一个要写入的新文件,但该文件是空白的(包含 0 个字节)。阅读问题后,我尝试确保我的 printWriter 和输入/输出流已关闭/刷新。我现在不确定我的循环是否有问题,或者我是否在错误的地方调用了 close 方法。任何帮助表示赞赏。
代码如下:
package module6lecture;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ReadWriteProgram {
public static void main(String[] args) {
try
{
FileInputStream fis = new FileInputStream("C:\\Users\\Reid\\Desktop\\Chapter11.txt");
FileOutputStream fos = new FileOutputStream("C:\\Users\\Reid\\Desktop\\rulicny.txt");
Scanner scan = new Scanner(fis);
PrintWriter pw = new PrintWriter(fos);
int lineNumber = 1;
while(scan.hasNextLine());
{
String stringRead = scan.nextLine();
pw.println(lineNumber + ": " + stringRead);
lineNumber++;
}
pw.close();
}
catch(FileNotFoundException fnf)
{
System.out.println("Unable to find Chapter11.txt. Exiting...");
fnf.printStackTrace();
}
}
}
免责声明:我完全是新手。
【问题讨论】:
-
尝试在您的代码中添加多个 println 以查看是否已到达位置。最重要的是写行。
-
看来你的任务与this guy完全相同。
标签: java io printwriter