Java 随机访问文件写入以额外的空间结束
我有以下代码Java 随机访问文件写入以额外的空间结束,java,outputstream,Java,Outputstream,我有以下代码 RandomAccessFile file_test = new RandomAccessFile("C:\\Test Folder\\test4.doc", "rws"); StringBuffer st = new StringBuffer(); st.append("Writing to File"); file_test.writeChars(st.toString()); file_test.seek(0); Syst
RandomAccessFile file_test = new RandomAccessFile("C:\\Test Folder\\test4.doc", "rws");
StringBuffer st = new StringBuffer();
st.append("Writing to File");
file_test.writeChars(st.toString());
file_test.seek(0);
System.out.println(file_test.readLine());
所以我的问题是,文件正在编写中,但每个字母之间都有空格。这是输出:
W r i t i t t o F i l
而不是
写入文件
有关如何解决此问题的任何建议?如果要写入文本文件,请使用任何Writer或OutputStream类,而不是用于二进制文件的RandomAccessFile
OutputStreamWriter osw = null;
try
{
osw = new OutputStreamWriter(new FileOutputStream("textfile.txt"), "ISO-8859-1");
osw.write("Here comes some output");
}
catch (IOException e)
{
e.printStackTrace();
}finally {
if(osw != null) {
try
{
osw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
如果在这种情况下必须使用RandomAccessFile,请尝试使用writeUTF,看看这是否有帮助
file_test.writeUTF(st.toString());
完成后别忘了关闭文件
file_test.close();
否,输出中没有空格。您是否阅读了API文档并理解writeChars方法实际上应该做什么?当您打开.doc文件或.txt文件时,空间就在那里。当我写字节时,没有空格,但我读到您不想用字节表示字符。