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バイトとして書き込みます。あなたが余分なスペースとして見ている2番目のもの。

于 2012-11-29T01:30:49.873 に答える
1

代わりにFileWriterとBufferedWritterを使用することもできます。バッファを閉じるか、使い終わったら行うことを忘れないでください。

        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 に答える