我想在文件的开头写一个字符串,我该怎么做?
我根本不知道如何添加字符串..这是我到目前为止所做的:
public static void prepend (String filename, String data) throws IOException{
FileOutputStream file= new FileOutputStream(filename);
}
Run Code Online (Sandbox Code Playgroud)
(i)该write()方法只接受字节 - 在我的情况下,我应该怎么做才能使用它?
(ii) - 如何将字符串复制到文件的开头?
而且 - 如果有人知道一个网站上有所有的作家\读者和所有这些流被安排和很好地解释 - 我会非常感激,我会失去理智.
谢谢!
小智 8
你可以使用RandomAccessFile类.
http://download.oracle.com/javase/6/docs/api/java/io/RandomAccessFile.html
public static void main(String[] args) throws Exception {
RandomAccessFile file = new RandomAccessFile("test.txt", "rws");
byte[] text = new byte[(int) file.length()];
file.readFully(text);
file.seek(0);
file.writeBytes("Prepend 8");
file.write(text);
file.close();
System.out.println("Done");
}
Run Code Online (Sandbox Code Playgroud)
要编写文本,您需要创建一个Writer- 例如OutputStreamWriter.您可以使用FileWriter,而不是,但我更喜欢裹FileOutputStream在OutputStreamWriter为这样我可以控制编码.
你不能真正预先添加到文件的开头 - 你必须将新文本写入新文件的开头,然后复制旧文件的内容,然后在必要时重命名文件.具体如何操作将取决于现有文件的内容.