我试图读取一个.java文件并尝试使用下面的代码将其写入另一个文件。使用java.nio读取其他文件后,无法写入文件
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
public class JavaToHtml
{
private Path actualPath;
private Path targetPath;
private Path sourcePath;
private BufferedReader reader;
private BufferedWriter writer;
public JavaToHtml(String source, String target)
{
sourcePath = Paths.get(source);
sourcePath = sourcePath.toAbsolutePath();
actualPath = Paths.get(target);
targetPath = actualPath.toAbsolutePath();
Charset charset = Charset.forName("US-ASCII");
try
{
reader = Files.newBufferedReader(sourcePath, charset);
writer = Files.newBufferedWriter(targetPath, charset);
String line = null;
while((line = reader.readLine()) != null)
{
// This thing is working.
System.out.println(line);
// This thing is not working.
writer.write(line, 0, line.length());
}
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
public static void main(String[] args)
{
new JavaToHtml(args[0], args[1]);
}
}
现在的问题是,在我的while循环,我能够读取源文件没有任何问题,但其中创建新文件(目标)始终是空的。此外,编译器不会在编译时或运行时抛出错误。难道我做错了什么 ?请给我一些亮点,因为这是我的第一个问题。
问候
你应该详细说明一下,并解释为什么如果缓冲流未关闭(实际刷新),为什么不写入任何内容,并坚持这些应该都在finally块中关闭。 – 2012-01-15 12:17:28
@PrimosK:谢谢,关闭这两件事整理了我的东西。但是,你能否说明为什么发生这种情况?祝福你。 Regards – 2012-01-15 12:18:49
@JBNizet:你能告诉我为什么发生了,关闭这两件事情为我整理了一些东西吗?问候 – 2012-01-15 12:21:02