尝试从Java程序写入服务器上的txt文件时遇到此问题。即使它写了文本,它也写了一些奇怪的字符。我的代码如下所示:

    URL urlOutput = new URL("ftp://username:[email protected]");
    URLConnection urlc = urlOutput.openConnection();
    OutputStream os = urlc.getOutputStream();
    OutputStream buffer = new BufferedOutputStream(os);
    ObjectOutput output = new ObjectOutputStream(buffer);
    output.writeObject("Hello world!");
    output.close();
    buffer.close();
    os.close();


这就是txt文件中显示的内容:


  KtKVHello世界!


感谢帮助!

最佳答案

ObjectOutputStream用于对象序列化。 "Hello world!"之前的部分是对象输出流为对象输入流保存的“簿记”信息,用于确定要恢复的对象类型。

使用PrintStream输出文本信息:

URL urlOutput = new URL("ftp://username:[email protected]");
URLConnection urlc = urlOutput.openConnection();
OutputStream os = urlc.getOutputStream();
OutputStream buffer = new BufferedOutputStream(os);
PrintStream output = new PrintStream(buffer);
output.writeLine("Hello world!");
output.close();
buffer.close();
os.close();

08-07 13:00