Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机访问文件写入以额外的空间结束_Java_Outputstream - Fatal编程技术网

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文件时,空间就在那里。当我写字节时,没有空格,但我读到您不想用字节表示字符。