编写一个java应用程序
发布网友
发布时间:2022-04-24 20:46
我来回答
共1个回答
热心网友
时间:2023-10-10 13:40
package cn.com.skr.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class Test3 {
public static void main(String[] args) throws IOException {
// classics("C:\\Users\\skr86\\Desktop\\test.txt");
nio("C:\\Users\\skr86\\Desktop\\test.txt");
}
public static void classics(String filePath) throws IOException {
// 经典方法
// (1)建立从键盘到程序的输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// 读取一行
String line = reader.readLine();
// (2)建立从程序到文本文件的输出流
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath)));
// (3)从输入流读数据,并直接写进输出流,直到流内没有数据
writer.write(line + "\n\r");
writer.flush();
writer.close();
}
public static void nio(String filePath) throws IOException {
// (1)建立从键盘到程序的输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// 读取一行
String line = reader.readLine();
// (2)建立从程序到文本文件的输出流
FileOutputStream fos = new FileOutputStream(filePath);
// 建立通道
FileChannel outChannel = fos.getChannel();
ByteBuffer bbf = ByteBuffer.wrap(line.getBytes());
bbf.put(line.getBytes());
bbf.flip();
// 写入通道
outChannel.write(bbf);
outChannel.close();
// 写入文件
fos.flush();
fos.close();
}
}
2种方法都可以,后面使用的NIO,供参考