我有以下代码
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());
所以我遇到的问题是正在编写该文件,但每个字母之间都有空格。这是输出:
我不知道如何
而不是
写入档案
有关如何解决此问题的任何建议吗?
答案 0 :(得分:1)
如果要写入文本文件,请使用任何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();
}
}
}
答案 1 :(得分:1)
如果在这种情况下必须使用RandomAccessFile,请尝试使用writeUTF并查看是否有帮助。
file_test.writeUTF(st.toString());
完成后别忘了关闭文件。
file_test.close();