小编Moi*_*Col的帖子

Intellij 新 Java 类打开一个与平时不同的对话框

在使用IntelliJ IDE通过new -> Java Class创建新的 java 类时,随机对话框开始出现,我找不到如何禁用它。

在此处输入图片说明

这是开始显示的奇怪对话框,有点像向导。单击帮助按钮获取我的There is no help for this dialog消息。

如何在 Intellij IDEA 中禁用此窗口?

intellij-idea

7
推荐指数
2
解决办法
928
查看次数

查找打印机是否在线并准备好打印

以下 4 个问题没有帮助,因此这不是重复的:


我需要找到一种方法来发现我的系统报告的打印机是否可以打印。

打印机页面:

在此处输入图片说明

图中打印机“THERMAL”可打印,但“HPRT PPTII-A(USB)”不可打印。系统向我显示,通过使不可用的打印机着色

使用以下代码,我可以找到系统中的所有打印机

public static List<String> getAvailablePrinters() {
    DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

    PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, aset);
    ArrayList<String> names = new ArrayList<String>();
    for (PrintService p : services) {
        Attribute at = p.getAttribute(PrinterIsAcceptingJobs.class);
        if (at == PrinterIsAcceptingJobs.ACCEPTING_JOBS) {
            names.add(p.getName());
        }

    }
    return names;
}
Run Code Online (Sandbox Code Playgroud)

输出:

[HPRT PPTII-A(USB), THERMAL]
Run Code Online (Sandbox Code Playgroud)

问题是:此代码显示了系统曾经安装过的所有打印机。

我需要什么:这个列表应该只包含真正可用的打印机来打印。在这个例子中,它应该只显示“THERMAL”,而不显示“HPRT PPTII-A(USB)”

如何做到这一点?

java printing printers

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

处理大文本文件需要多长时间?

我有一个包含名字的大文本文件.

目标是生成随机名称(文件中的两个随机名称).

考虑到该文件有大约8k行,每行一个名称,尝试从该文件中获取随机行是否有效处理器?这是一个漫长的过程,因此在运行时有用吗?

我打算使用以下方法获取随机名称

 public static String choose(File f) throws FileNotFoundException
 {
 String result = null;
 Random rand = new Random();
 int n = 0;
 for(Scanner sc = new Scanner(f); sc.hasNext(); )
 {
    ++n;
    String line = sc.nextLine();
    if(rand.nextInt(n) == 0)
       result = line;         
 }

 return result;      
}
Run Code Online (Sandbox Code Playgroud)

对这段代码的新手分析让我觉得它在大约O(n)时间内运行

但是我用较少数量的字符串测试它(原始文件目前尚未完成,大约150个名称用于测试目的).

这是生成随机名称的有效方法吗?

@编辑

考虑到我想在很短的时间内生成名称,效率很重要.

java random algorithm big-o

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

标签 统计

java ×2

algorithm ×1

big-o ×1

intellij-idea ×1

printers ×1

printing ×1

random ×1