1、用buffer向输出流写数据
先把内容加到buffer缓冲区,再用FileChannel.write()方法从buffer中读出数据到本地文件。
package com.gt.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
class test{
public static void main(String args[]) throws IOException {
try (FileOutputStream outputStream = new FileOutputStream("file.txt");
FileChannel channel = outputStream.getChannel()) {
ByteBuffer buffer = ByteBuffer.allocate(1024);
buffer.put("Hello, world!".getBytes());
buffer.flip(); // 切换到读模式
int bytesWritten = channel.write(buffer); // 将buffer中的数据写入到channel
System.out.println(bytesWritten);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2、直接向输出流写数据
package com.gt.test;
import java.io.FileOutputStream;
import java.io.IOException;
class test{
public static void main(String args[]) throws IOException {
try (FileOutputStream outputStream = new FileOutputStream("file.txt")) {
String data = "Hello, world!";
outputStream.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}