休哥哥来啦 2021-12-08 22:28 采纳率: 50%
浏览 15

java中后面的代码怎么才能使用,前面代码创建的文件呢。

问题遇到的现象和发生背景

我想先复制成一个.properties文件。然后用ResourceBundle类再存到properties集合中。

img

代码
 public static void main(String[] args) throws InterruptedException {

        try (FileReader fr = new FileReader("test3_1.txt");
             FileWriter fw = new FileWriter("day16Model\\src\\test3_1.properties")) {
            int num;
            while ((num = fr.read()) != -1) {
                fw.write(num);
                fw.flush();
            }

        } catch (IOException e) {
            System.out.println(e);
        }

        Thread.sleep(5000);

        File file = new File("day16Model\\src\\test3_1.properties");

        if (file.exists()) {

            ResourceBundle test = ResourceBundle.getBundle("test3_1");//没有加载出来
            Properties pro = new Properties();
            Set<String> keys = test.keySet();

            for (String key : keys) {

                System.out.println(key+"----"+test.getString(key));
                pro.setProperty(key, test.getString(key));

            }

            System.out.println(pro);

        } else {

            System.out.println("文件不存在");

        }
    }

运行结果及报错内容

img

我的解答思路和尝试过的方法

前面代码中新建的.properties文件,后面代码的ResourceBundle获取对象时报错了。

我想要达到的结果

java中后面的代码怎么才能使用,前面代码创建的文件呢。

  • 写回答

1条回答 默认 最新

  • SnailsH 2021-12-08 23:26
    关注
    
    public static void main(String[] args) throws InterruptedException {
            try (FileReader fr = new FileReader("test3_1.txt");
                 FileWriter fw = new FileWriter("src/test3_1.properties")) {
                int num;
                while ((num = fr.read()) != -1) {
                    fw.write(num);
                    fw.flush();
                }
            } catch (IOException e) {
                System.out.println(e);
            }
            Thread.sleep(5000);
            File file = new File("src/test3_1.properties");
            if (file.exists()) {
                ResourceBundle test = ResourceBundle.getBundle("test3_1");//没有加载出来
                Properties pro = new Properties();
                Set<String> keys = test.keySet();
                for (String key : keys) {
                    System.out.println(key+"----"+test.getString(key));
                    pro.setProperty(key, test.getString(key));
                }
                System.out.println(pro);
            } else {
                System.out.println("文件不存在");
            }
        }
    
    评论

报告相同问题?

问题事件

  • 修改了问题 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊