在log4j中,有没有办法让logger.error("")和logger.debug("")包含不同的输出布局?我希望错误包含方法名称和行号,这两者都会降低应用程序的性能。编辑:添加apache-log4j-extras后,以下配置文件有效。此代码用于测试//goestoerrors.txtlog.error("error");//goestowarnings.txtlog.warn("warn"); 最佳答案 在您的log4j.xml配置中,您可以创建两个附加程序,每个附加程序使用一个LevelMatchFilter每个都有一个
我有一个指向磁盘上文件的路径,比如:C:\folder\dir\dir2\file.txt。在代码中,如果在处理这个文件时抛出异常,它会输出整个路径。理想情况下,最好不要打印出整个目录,而是打印出类似../../dir2/file.txt的内容。看来我应该可以用java.nio.filerelativize做到这一点方法,我只是不确定如何。Pathfile;//C:\folder\dir\di2\file.txtfile.relativize(file.getParent());我确定我正在以错误的方式处理这个问题,只是不确定如何完成我想要的。 最佳答案
我是在Java背景下学习C#的,对ValueType有一些困惑。我阅读MSDN的C#vsJava的理解概述是原语是对象而不是包装器。如果是这样,为什么他们需要boxed调用方法?看起来它们的含义与Java的自动装箱不同,但我不确定是什么。它看起来更像是类型转换。 最佳答案 装箱是Java和C#中非常相似的概念。不同之处在于它发生的时间:Characterch='a';这将导致Java中的装箱,因为'a'是原始类型而Character是类(包装器)。在C#中:Charch='a';不会引起装箱因为Char不是原始类型而是值类型类。要在
我有一个程序可以从.txt文件中读取数字。我的问题是将此文件放在哪里,或者如何使用相对路径引用它,以便在不使用绝对路径的情况下访问此文件。 最佳答案 当您尝试打开文件时,它会采用您当前的工作路径。例如这个工作树:Project|->src||-->MyClass.java||-->MyFile1.txt|->res|->files|-->MyFile2.txt您可以对MyFile1使用newFile("MyFile1.txt");。或newFile("./res/files/MyFile2.txt");为MyFile2。
我有这个网站:https://asd.com/somestuff/another.html我想从中提取相关部分:somestuff/another.html我该怎么做?编辑:我得到了一个问题的答案,但问题是从亲戚中构建绝对url,这不是我感兴趣的。 最佳答案 您可以使用getPath()URL对象的方法:URLurl=newURL("https://asd.com/somestuff/another.html");System.out.println(url.getPath());//prints"/somestuff/anothe
当我将其中一个子面板设置为不可见时,如何使主面板中的子面板保持原样?我的样子:[(Panel1)(Panel2)(Panel3)(Panel4)]当我执行panel3.setVisible(false)时,它看起来像:[(Panel1)(Panel2)(Panel4)]我希望它看起来像:[(Panel1)(Panel2)(Panel4)]我正在使用GridBagLayout,我的mainPanel声明如下所示:finalJPanelpanel=newJPanel(newGridBagLayout());GridBagConstraintsc=newGridBagConstraints(
我有一些文本配置文件需要我的程序读取。我当前的代码是:protectedFilegetConfigFile(){URLurl=getClass().getResource("wof.txt");returnnewFile(url.getFile().replaceAll("%20",""));}当我在eclipse中本地运行它时,这有效,尽管我确实必须进行hack处理路径名中的空格。配置文件与上述方法在同一个包中。但是,当我将应用程序导出为jar时,我遇到了问题。该jar存在于共享的映射网络驱动器Z:中。当我从命令行运行应用程序时出现此错误:java.io.FileNotFoundEx
我需要相对于鼠标位置放大/缩小滚动Pane。我目前通过将我的内容包装在一个组中并缩放组本身来实现缩放功能。我创建了一个带有自定义枢轴的新Scale对象。(枢轴设置为鼠标位置)这非常适用于组的初始比例为1.0的情况,但是之后的缩放不会在正确的方向上缩放-我相信这是因为当组被缩放时相对鼠标位置发生了变化。我的代码:@Overridepublicvoidinitialize(URLlocation,ResourceBundleresources){Deltainitial_mouse_pos=newDelta();anchorpane.setOnScrollStarted(event->{i
我正在尝试设计一个JButton(一个“确定”按钮),它必须在包含的JFrame中水平居中才能看起来不错。我正在使用具有自由格式布局(GroupLayout)的GUIBuilder。我学习了几个GUI构建器教程(http://netbeans.org/kb/docs/java/quickstart-gui.html),但没有找到这个主题。在其他gui构建器(delphi)中,这可以通过从两个边缘移除anchor来完成。 最佳答案 GroupLayout支持组件居中。这是一个非常有能力的布局管理器。我个人把它放在MigLayout管理
我有一个Java问题一直困扰着我:指示相对文件路径的好方法是什么。让我更具体一点。我希望能够说始终在./configuration/file.txt中查找配置文件。我遇到的问题是我的程序只有从文件所在的目录启动时才能正常工作。如果相反,我从不同的目录启动它,例如./directory/to/my/program/execute.sh然后它无法正常运行。但是我还需要对这个文件进行修改,resources好像想要只读... 最佳答案 建议的(以便应用独立于环境特定细节)读取配置信息的方法是将其作为类路径资源而不是文件系统资源来读取。阅读