要求: 程序启动后,要求在控制台输入一个文件名,然后对该文件进行写操作, 之后用户输入的每一行字符串都写入到这个文件夹中,当用户输入exit时程序退出
请问如下代码如何实现输入的内容换行?
package raf;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
/**
* 要求:
* 程序启动后,要求在控制台输入一个文件名,然后对该文件进行写操作,
* 之后用户输入的每一行字符串都写入到这个文件夹中,当用户输入exit时程序退出
*
* @author Bone
* @date 2021-05-15 23:16
**/
public class Test {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个文件名:");
String fileName = scanner.nextLine();
RandomAccessFile raf = new RandomAccessFile("src/raf/" + fileName + ".txt", "rw");
System.out.println("请输入内容:");
String end = "exit"; //结束
while (true) {
String content = scanner.nextLine();
if (end.equals(content)) {
break;
}
byte[] data = content.getBytes(StandardCharsets.UTF_8);
raf.write(data);
}
System.out.println("程序退出");
raf.close();
}
}
RandomAccessFile 换 BufferedWriter类 使用wtiteLine方法就可以。
用这种方式吧 FileOutputStream fos=new FileOutputStream("c;\\11.txt"); BufferedWriter bw=new BufferedWriter(fos); bw.write("你好"); bw.newline(); bw.write("java"); w.newline();
可以直接写 raf.writeChars('\n')
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632