2

可能重复:
在 Java 文件中间写入字节的最佳方法

我正在编写一个修改 PostScript 文件以添加打印属性的程序,因此我需要在文件中间添加行。这些 PostScript 文件非常大,我想知道我使用的代码是否最有效。此代码读取源文件并写入一个临时文件,在需要的地方添加一行。

    Writer out = null;
    Scanner scanner = null;

    String newLine = System.getProperty("line.separator");

    scanner = new Scanner(new FileInputStream(fileToRead));
    out = new OutputStreamWriter(new FileOutputStream(fileToWrite));
    String line;
    while(scanner.hasNextLine()){
        line = scanner.nextLine();

        out.write(line);
        out.write(newLine);
        if(line.equals("%%BeginSetup")){
            out.write("<< /Duplex true /Tumble true >> setpagedevice");
            out.write(newLine);
        }
    }

    scanner.close();
    out.close();

任何帮助将不胜感激,在此先感谢。

4

2 回答 2

1

在 SO 上找到的大多数旧答案都使用/链接旧的java.io.*

Oracle 有很好的示例如何使用“新”java 7java.nio.*包(通常具有更好的性能)来做到这一点

http://docs.oracle.com/javase/tutorial/essential/io/rafs.html

于 2012-12-11T13:24:54.673 回答
0

请参阅RandomAccessFile此处及其示例:Fileseek - 您可以查找文件中的特定位置并在那里写入。

于 2012-12-11T13:13:43.867 回答