bone8348226
2021-05-16 00:15
采纳率: 100%
浏览 42
已采纳

请问如下代码如何实现输入的内容换行?

要求:
程序启动后,要求在控制台输入一个文件名,然后对该文件进行写操作,
之后用户输入的每一行字符串都写入到这个文件夹中,当用户输入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();
	}
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    RandomAccessFile 换 BufferedWriter类 使用wtiteLine方法就可以。

    点赞 评论
  • CSDN专家-sinjack 2021-05-16 00:38

    用这种方式吧 FileOutputStream fos=new FileOutputStream("c;\\11.txt"); BufferedWriter bw=new BufferedWriter(fos); bw.write("你好"); bw.newline(); bw.write("java"); w.newline();

    点赞 评论
  • CSDN专家-三岁丫 2021-05-16 01:07

    可以直接写 raf.writeChars('\n')

    点赞 评论
  • 有问必答小助手 2021-05-17 16:55

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐 更多相似问题