草庐IT

base_dir

全部标签

java - 当流未明确关闭时,Files.list(Path dir) 中的资源泄漏?

我最近编写了一个定期检查目录内容的小应用程序。一段时间后,由于打开的文件句柄过多,应用程序崩溃了。经过一番调试,我发现了下面一行的错误:Files.list(Paths.get(destination)).forEach(path->{//Tostuff});然后我检查了Files.list的javadoc(我可能早该这样做)发现:*Thereturnedstreamencapsulatesa{@linkDirectoryStream}.*Iftimelydisposaloffilesystemresourcesisrequired,the*{@codetry}-with-resour

java - Base64:java.lang.IllegalArgumentException:非法字符

我正在尝试在用户注册后发送确认电子邮件。为此,我使用JavaMail库和Java8Base64util类。我正在使用以下方式对用户电子邮件进行编码:byte[]encodedEmail=Base64.getUrlEncoder().encode(user.getEmail().getBytes(StandardCharsets.UTF_8));Multipartmultipart=newMimeMultipart();InternetHeadersheaders=newInternetHeaders();headers.addHeader("Content-type","text/ht

Java - 使用 System.getProperty ("user.dir")获取主目录

这个问题在这里已经有了答案:Whatisthebestwaytofindtheuser'shomedirectoryinJava?(9个回答)关闭4年前。我想知道是否使用:System.getProperty("user.dir");获取文件夹的绝对路径是最好的方法吗?我希望将我的应用程序传递到其他计算机上,我需要一个完整的证明方法来获取“主”目录,这样当我需要使用其他文件夹时,我就可以添加到路径中:Stringpath=System.getProperty("user.dir");StringotherFolder=path+"\\other"; 最佳答案

仅使用 JDK6 进行 Base64 解码

ThisquestionwithregardtoJDK5说,JDK5没有提供实现,但是JDK6应该有一个sun.misc.Base64Decoder。据我所知,JDK没有提供这个类,我无法在其中找到任何其他类似的类那么,JDK6的情况如何?我知道那里有很多实现,比如Commons和JBoss的,但是我们有一个限制性的3rd方库政策,所以我试图避免重新发明轮子。 最佳答案 在Java中有官方(非sun.misc)实现,但它不是任何人想的。java.util.prefs.AbstractPreferences是具有这样做的必要方法的那个

Java 8 流 : Map the same object multiple times based on different properties

我的一位同事向我提出了一个有趣的问题,但我找不到一个简洁漂亮的Java8解决方案。问题是通过POJO列表进行流式传输,然后将它们收集到基于多个属性的映射中-映射导致POJO多次发生想象以下POJO:privatestaticclassCustomer{publicStringfirst;publicStringlast;publicCustomer(Stringfirst,Stringlast){this.first=first;this.last=last;}publicStringtoString(){return"Customer("+first+""+last+")";}}将其

java - 错误 : 'F' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9,或下划线

已结束。此问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭6年前。Improvethisquestion错误:'F'不是有效的基于文件的资源名称字符:基于文件的资源名称只能包含小写a-z、0-9或下划线错在哪里?没看到 最佳答案 错误不在XML代码中,而是在文件名中。检查res目录中的文件名!似乎其中一

java - Apache 的 Base64.encodeBase64 和 Android 的 Base64.encode 与 Base64.Default 标志之间有什么区别吗?

示例A(使用org.apache.commons.codec.binary.Base64):Base64.encodeBase64("foobar".getBytes());示例B(使用android.util.Base64):Base64.encode("foobar".getBytes(),Base64.DEFAULT);这些是否产生相同的字符串? 最佳答案 不,不同之处在于默认设置下,Android的Base64包含行终止符。要获得与Apache编码相同的结果,请使用Base64.NO_WRAP。

java - Java/Groovy 中的 Base64 编码

在Java中将字节[]转换为Base64字符串的正确方法是什么?更好的是Grails/Groovy,因为它告诉我encodeAsBase64()函数已弃用。不推荐使用sun.misc.BASE64Encoder包,它在某些Windows平台上输出不同大小的字符串。 最佳答案 在groovy中执行此操作的首选方法是:defencoded="HelloWorld".bytes.encodeBase64().toString()assertencoded=="SGVsbG8gV29ybGQ="defdecoded=newString("S

java - Java 8 java.util.Base64 是 sun.misc.BASE64 的替代品吗?

问题Java8java.util.Base64MIME编码器和解码器是不受支持的内部JavaAPI的替代品吗sun.misc.BASE64Encoder和sun.misc.BASE64Decoder?编辑(澄清):直接替换我的意思是,对于任何现有的其他客户端代码,我可以使用sun.misc.BASE64Encoder和sun.misc.BASE64Decoder将遗留代码切换到Java8MIMEBase64编码器/解码器。到目前为止我的想法和原因根据我的调查和快速测试(见下面的代码)它应该是一个直接替代品,因为sun.misc.BASE64Encoder基于其JavaDoc是RFC15

java - 如何从 base64 编码的字符串构造 java.security.PublicKey 对象?

我有一个来自外部源(Android商店)的bse64编码字符串公钥,我需要使用它来验证签名内容。如何将字符串转换为java.security.PublicKey接口(interface)的实例。如果这有所作为,我正在使用Java6。key(可能)是使用标准java库生成的,而不是充气城堡(它来自远程团队,所以我不确定)。他们的示例代码说要使用Security.generatePublicKey(base64EncodedPublicKey);但是标准java中的Security对象没有这样的方法。 最佳答案 上述答案的代码publi