小编Mar*_*aux的帖子

如何知道Eclipse中我工作区中java文件的数量?

我有一个java项目,有很多java文件.所以,我想知道.java我的项目在Eclipse中的文件数量.怎么知道?

java eclipse count

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

如何检查文件是否是图像

我想检查传递的文件是否是图像,如果不是,我想显示一条消息,指示该文件不是图像.

try{
    Image img = ImageIO.read(new File(name));
}catch(IOException ex)
{
    valid=false;
    System.out.println("The file" + name + "could not be opened, it is not an image");
}
Run Code Online (Sandbox Code Playgroud)

当文件(引用name)不是图像有效时未设置为false,为什么会发生这种情况?我应该更改例外的类型吗?我已经阅读了关于try-catch的内容,据我所知,如果ImageIO.read失败并且异常的类型是IOException,将执行catch块的内容.那为什么不执行呢?

有没有其他方法来检查文件是否是图像?

java image exception

14
推荐指数
2
解决办法
2万
查看次数

连接两个客户端套接字

假设Java有两种套接字:

  • 服务器套接字"ServerSocket"
  • 客户端套接字或只是"套接字"

想象一下两个过程的情况:

X =客户
Y =服务器

服务器进程Y:有一个"ServerSocket",即正在侦听TCP端口
客户端进程X:通过"Socket"向Y发送连接请求.

Y:然后该accept()方法返回一个新的客户端类型"Socket",
当它发生时,两个套接字得到"互连",

所以:客户端进程中的套接字,与服务器进程中的套接字相连.
然后:通过套接字X读/写就像通过套接字Y读/写.
现在,两个客户端套接字互连!!

但是......
如果我在同一个进程中创建两个Client套接字,我想让它们"互连"怎么办?

......甚至可能?

假设如何在不使用中间ServerSocket的情况下使两个客户端套接字互连?

我已经通过创建两个Thread来连续读取A和写B来解决它,而另一个用于读取B和写入A ......
但我认为这可能是更好的方式......(那些世界耗能的线程不是必需的使用客户端 - 服务器方法)

任何帮助或建议将不胜感激!谢谢


编辑:

应用示例:"现有服务器应用程序可以转换为客户端应用程序",例如VNC服务器,一个客户端套接字连接到VNC服务器,并创建其他客户端套接字(连接到中间服务器),然后应用程序互连两个客户端导致VNC服务器是客户端应用程序!然后,不需要公共IP.

VNCServer --- MyApp ---> |中间服务器| <---用户

java sockets client serversocket

13
推荐指数
2
解决办法
4万
查看次数

如何做好防裂保护?

我将首先说我知道不可能阻止您的软件进行逆向工程.

但是,当我看一下crackmes.de时,有一个难度等级为8和9的裂缝(在1到10的等级上).这些裂缝正在被天才大脑破解,他们写了一篇如何破解它的教程.有时,这样的教程长达13页!
当我试图制作一个crackme时,他们会在10分钟内破解它.接下来是一个长度为20行的"如何破解"教程.

所以问题是:

  • 我怎样才能做出比较好的防裂保护.
  • 我应该使用哪种技术?
  • 我该怎么学习呢?
  • ...

cracking reverse-engineering

13
推荐指数
2
解决办法
1万
查看次数

ZipInputStream.getNextEntry()如何工作?

假设我们有以下代码:

File file = new File("zip1.zip");
ZipInputStream zis = new ZipInputStream(new FileInputStream(file));
Run Code Online (Sandbox Code Playgroud)

假设您有一个包含以下内容的.zip文件:

  • zip1.zip
    • 你好ç
    • world.java
    • 文件夹1
      • foo.c的
      • bar.java
    • foob​​ar.c但是

zis.getNextEntry()将如何迭代?

它会返回hello.c,world.java,folder1,foobar.c并完全忽略folder1中的文件吗?

或者它会返回hello.c,world.java,folder1,foo.c,bar.java,然后是foobar.c?

它甚至会返回folder1,因为它在技术上是一个文件夹而不是文件?

谢谢!

java zip

13
推荐指数
3
解决办法
2万
查看次数

Java HashMap put()实现.为什么不先检查参考文献?

java.util.HashMap有一个put方法的实现,其中包含以下代码:

if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
    V oldValue = e.value;
    e.value = value;
    e.recordAccess(this);
    return oldValue;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,为什么不首先进行引用检查(因为具有相同引用的两个对象将具有相同的哈希和equals())?

即是这样的:

if ((k = e.key) == key) {
    V oldValue = e.value;
    e.value = value;
    e.recordAccess(this);
    return oldValue;
} else if ( compare hash and equals) {
    // do something again with the value
}
Run Code Online (Sandbox Code Playgroud)

这不会节省比较吗?

java standard-library

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

Win32 API模拟发送/捕获SIGTERM

在POSIX OS下,有一个信号API,它允许发送一个信号进行处理以使用kill来关闭它,你可以用sigaction捕获它并做你需要的事情;

但是,Win32不是POSIX系统,因此:

  • 如何处理可能出现的关闭事件,例如"任务管理器"中的"结束进程"?
  • 将关闭信号发送到Win32应用程序的标准API是什么?

我不是在谈论GUI,我在谈论应该很好地关闭的TCP/IP服务器.这不像Windows服务那样运行.

windows winapi posix shutdown sigterm

12
推荐指数
2
解决办法
2万
查看次数

Java:用可点击的HTML链接替换文本URL

我正在尝试将包含某些URL的String替换为与浏览器兼容的链接URL.

我的初始String看起来像这样:

"hello, i'm some text with an url like http://www.the-url.com/ and I need to have an hypertext link !"
Run Code Online (Sandbox Code Playgroud)

我想得到的是一个字符串看起来像:

"hello, i'm some text with an url like <a href="http://www.the-url.com/">http://www.the-url.com/</a> and I need to have an hypertext link !"
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码行捕获URL:

String withUrlString = myString.replaceAll(".*://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"null\">HereWasAnURL</a>");
Run Code Online (Sandbox Code Playgroud)

也许regexp表达式需要一些修正,但它工作正常,需要在更长的时间内进行测试.

所以问题是如何保持正则表达式捕获的表达式,只需添加创建链接所需的内容:catched string

提前感谢您的关注和回复!

java regex url grouping replace

12
推荐指数
3
解决办法
2万
查看次数

最小的Java运行时我可以合法分发吗?

我的Java SWT桌面应用程序与它自己的Java运行时一起分发,我想让下载大小尽可能小.我想从rt.jar中删除我不使用的所有类,但根据JDK运行时许可证这是禁止的(请参阅根JDK文件夹中的README.html文件).

由于Java是开源的,我是否允许从源代码编译我自己的"Java"运行时没有这种分发限制?如果是这样,有没有人这样做过?(或者你只是忽略JDK许可条款?)

java licensing

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

如何在java中使用'^'这个特殊字符拆分字符串?

我想拆分以下字符串"Good ^ Evening"我使用拆分选项它不拆分值.请帮我.

这就是我一直在尝试的:

String Val = "Good^Evening";
String[] valArray = Val.Split("^");
Run Code Online (Sandbox Code Playgroud)

java

12
推荐指数
2
解决办法
4万
查看次数