1

我想用这段代码写一些东西,但是在我运行之后,字符之间有空格。但在代码中我没有给字符串空间。

import java.io.*;

public class WriteText{

public static void main(String[] args) {

FileOutputStream fos; 
DataOutputStream dos;

try {

  File file= new File("C:\\JavaWorks\\gui\\bin\\hakki\\out.txt");
  fos = new FileOutputStream(file);
  dos=new DataOutputStream(fos);

  dos.writeChars("Hello World!");
} 

catch (IOException e) {
  e.printStackTrace();
}

 }

 }

输出是(在文本文件中):H e l l o W o r l d !

4

2 回答 2

5

使用writeBytes

dos.writeBytes("Hello World!");

本质上,writeChars 会将每个字符写入 2 个字节。您看到的第二个是额外的空格。

于 2012-11-29T01:30:49.873 回答
1

您也可以改用 FileWriter 和 BufferedWritter;完成后不要忘记关闭缓冲区或 dos。

        FileWriter file; 
        BufferedWriter bw = null;

    try {

        file = new FileWriter("C:\\JavaWorks\\gui\\bin\\hakki\\out.txt");
        bw = new BufferedWriter(file);

        bw.write("Hello World!");
    } 

    catch (IOException e) {
        e.printStackTrace();
    }

    finally{
        try{
            bw.close();
        }

        catch(IOException e){
            e.printStackTrace();
        }
    }
于 2012-11-29T01:53:20.933 回答