可能重复:
Best Way to Write Bytes in the Middle of a File in 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();
任何帮助将不胜感激,提前谢谢。
答案 0 :(得分:1)
在SO上找到的大多数旧答案使用/链接旧的java.io.*
Oracle有很好的例子,说明如何使用“新的”java 7 java.nio.*
软件包(通常具有更好的性能)
http://docs.oracle.com/javase/tutorial/essential/io/rafs.html
答案 1 :(得分:0)
请参阅RandomAccessFile
及其示例:Fileseek - 您可以在文件中寻找特定位置并在那里写信。