yexiuyyds 2022-12-11 15:12 采纳率: 69.2%
浏览 20
已结题

关于#java#的问题,请各位专家解答!(开发工具-eclipse)

img


多线程的题目
关于#java#的问题,请各位专家解答!(开发工具-eclipse)

  • 写回答

1条回答 默认 最新

  • 4-123优秀者 2022-12-11 18:00
    关注
    
    package com.dt.zt.admin;
    import java.io.*;
    import java.util.Random;
    import java.util.Scanner;
    
    public class Test {
        public static void main(String[] args) {
    //        randomName("G:\\com_qfedu\\name.txt");
           Fwriter fwriter = new Fwriter("G:\\com_qfedu\\name.txt");
           Fread fread = new Fread("G:\\com_qfedu\\name.txt", fwriter);
            fread.start();
            fwriter.start();
        }
       
        public static void randomName(String fileName){
            //创建字符串数组保存名字
            String[] names = new String[10];
            //创建文件对象
            File file = new File(fileName);
            try {
                BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
                for (int i = 0; i < 10; i++) {
                    //按行读取数据
                    names[i] = bufferedReader.readLine();
                }
    
                Random random = new Random();
                for (int i = 0; i < 3; i++) {
                    //随机打印名字
                    System.out.println(names[random.nextInt(10)]);
                    //休眠3秒
                    Thread.sleep(3000);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    class Fread extends Thread {
        private String fileName;
        private Thread t;
        public StringBuilder stringBuilder = new StringBuilder();
    
    
        public Fread(String fileName, Thread t) {
            this.fileName = fileName;
            this.t = t;
    
        }
        
        @Override
        public void run() {
            try {
                t.join();
                BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
                String str = null;
                while ((str = bufferedReader.readLine()) != null) {
                    stringBuilder.append(str);
                }
                System.out.println("stringBuilder = " + stringBuilder);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    class Fwriter extends Thread{
        private String fileName;
      
        public Fwriter(String fileName){
            this.fileName = fileName;
        }
    
        @Override
        public void run() {
            try {
                BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName, true));
                for (int i = 0; i < 10; i++) {
                    bufferedWriter.write("\r\n" + i + Thread.currentThread().getName());
                }
                bufferedWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 echarts如何对X轴进行分组
  • ¥15 维纳滤波器的实验题及计算机实现,求解
  • ¥15 fluent模拟静态气体扩散
  • ¥15 java根据模板,生成word文档,需要带目录
  • ¥15 广告联盟的兜底广告是什么意思
  • ¥15 如何证明高斯噪声的包络公式
  • ¥150 寻找王者荣耀开发作者,合作或者解答
  • ¥15 关于cpci总线的几个问题,别用人工智能回答
  • ¥15 乳腺癌数据集 相关矩阵 特征选择
  • ¥15 我的游戏账号被盗取,请问我该怎么做