asdfghjkl.. 2022-01-02 00:05 采纳率: 50%
浏览 28
已结题

这怎么做(刚刚入门)

在main函数中从键盘输入五个字符串到字符数组中,将该五个字符串作为五段输入到项目文件夹下的files目录下的a.txt文件中。

  • 写回答

1条回答 默认 最新

  • winer_foever 2022-01-02 00:56
    关注

    如下

    
    package com.zyf.test01;
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
    
    /**
     * 在main函数中从键盘输入五个字符串到字符数组中,将该五个字符串作为五段输入到项目文件夹下的files目录下的a.txt文件中
     */
    public class Test01 {
    
        public static void main(String[] args) {
            
    //        定义Scanner对象
            Scanner input = new Scanner(System.in);
    //        输入五个字符到字符数组
            
    //        定义字符数组
            String[] arr = new String[5];
    //        在控制台输入五个字符串并放入字符数组
            for(int i=0;i<5;i++) {
                System.out.println("请输入第"+(i+1)+"个字符串:");
                arr[i]= input.next();
            }
            input.close();
            
    //        定义File对象
            File file = new File(".//files");
    //        判断文件夹是否存在 如果不存在则创建
            if(!file.exists()) {
                file.mkdirs();
            }
    //        定义字符缓冲输出流对象
            BufferedWriter bw = null;
            try {
                try {
                    bw = new BufferedWriter(new FileWriter(new File(file,"a.txt")));
                    for(String word : arr) {
    //                写入一条
                        bw.write(word);
    //                换行
                        bw.newLine();
    //                刷新流    如果不刷新也不close释放资源,文件就会一直存在缓冲区内    最后导致没写进去
                        bw.flush();
                    }
                    System.out.println("创建并写入成功");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
    //                释放资源
                    bw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        
        }
        
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月10日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日

悬赏问题

  • ¥40 图书信息管理系统程序编写
  • ¥15 7-1 jmu-java-m02-使用二维数组存储多元线性方程组
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题