小编zea*_*der的帖子

用于检查文件扩展名是否为.txt的程序

我写了一个带有awt文本字段和按钮的java代码,如果单击该按钮,我可以使用JFileChooser浏览文件.它需要检查文件是否具有".txt"扩展名.我编写了下面的代码,但没有得到验证.

我哪里错了?请帮助确定我错在哪里.

         try{
            final JFileChooser chooser = new JFileChooser();
            chooser.showOpenDialog(null);
            chooser.addChoosableFileFilter(new FileFilter() {
            public String getDescription() {
                return "*.txt";
            }
            public boolean accept(File filename)
            {

                if(filename.getName().endsWith(".txt")){
                    return true;
                }
                else{
                System.out.println("Browsed dest file extension must be .txt");
                return false;
                }}
            });
        catch(Exception ex)
        {
            JOptionPane.showMessageDialog(f,"Exception occurred");
        }
Run Code Online (Sandbox Code Playgroud)

java swing file-extension jfilechooser awt

1
推荐指数
1
解决办法
9641
查看次数

TypeError:没有将false隐式转换为Hash

我正在学习ruby,并且在编写它时相当新.下面是我写的合并两个哈希并写入YAML文件的主厨配方.

 yaml_string = "AVG_METRICS: 
 get_requests:
 - OneMinuteRate
 - FifteenMinuteRate"

 trimmed_custom_hash = YAML.load(yaml_string)
 ruby_block do
     merger = proc do |key,v1,v2|
          Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2
     end
     block do
         if test_string.start_with? "7."
            default_hash = YAML.load_file(File.join('/opt/tests/metrics','metrics_test.yml'))
            default_hash.merge!(trimmed_custom_hash, &merger)
            File.open("/opt/tests/metrics/metrics_test.yml", "w") { |file| file.write(default_hash.to_yaml)}
         end
    end
end
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么会发生隐式转换错误.在考虑可能失败的可能性时,我想出了一些问题.

  1. 这个区块的返回值是多少?
  2. 如果if条件有"?",那么该块应该只返回true还是false?
  3. 在厨师中使用ruby_block时,我需要记住哪些要点?

我一直试图解决这个问题.如果你能指出我可能出现的错误,那就太好了.谢谢!

ruby yaml chef-infra

0
推荐指数
1
解决办法
579
查看次数

标签 统计

awt ×1

chef-infra ×1

file-extension ×1

java ×1

jfilechooser ×1

ruby ×1

swing ×1

yaml ×1