我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,我收到以下错误:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at TCPClient.main(TCPClient.java:13)
Run Code Online (Sandbox Code Playgroud)
我尝试更改套接字号以防它正在使用但无济于事,是否有人知道是什么导致此错误以及如何解决它.
服务器代码:
//TCPServer.java
import java.io.*;
import java.net.*;
class TCPServer {
public static void main(String argv[]) throws Exception {
String fromclient;
String toclient;
ServerSocket Server = new ServerSocket(5000);
System.out.println("TCPServer Waiting for client on port 5000");
while (true) {
Socket connected = Server.accept();
System.out.println(" THE CLIENT" + " " + connected.getInetAddress()
+ ":" + connected.getPort() + " …Run Code Online (Sandbox Code Playgroud)
public class A {
public void method(boolean b){
if (b == true)
method1();
else
method2();
}
private void method1() {}
private void method2() {}
}
public class TestA {
@Test
public void testMethod() {
A a = mock(A.class);
a.method(true);
//how to test like verify(a).method1();
}
}
如何测试私有方法是否被调用,以及如何使用mockito测试私有方法???
我想将一行文本输出到包含标记的浏览器.渲染时,DIV会显示一条新行.如何在同一行的div标签中包含内容 - 这是我的代码.
<?php
echo("<a href=\"pagea.php?id=$id\">Page A</a>")
?>
<div id="contentInfo_new">
<script type="text/javascript" src="getData.php?id=<?php echo($id); ?>"></script>
</div>
Run Code Online (Sandbox Code Playgroud)
我试着在这里整理一下.如何在一行显示此显示?
鉴于此XML:
<DocText>
<WithQuads>
<Page pageNumber="3">
<Word>
July
<Quad>
<P1 X="84" Y="711.25" />
<P2 X="102.062" Y="711.25" />
<P3 X="102.062" Y="723.658" />
<P4 X="84.0" Y="723.658" />
</Quad>
</Word>
<Word>
</Word>
<Word>
30,
<Quad>
<P1 X="104.812" Y="711.25" />
<P2 X="118.562" Y="711.25" />
<P3 X="118.562" Y="723.658" />
<P4 X="104.812" Y="723.658" />
</Quad>
</Word>
</Page>
</WithQuads>
Run Code Online (Sandbox Code Playgroud)
我想找到具有'July'文本和Quad/P1/X属性大于90的节点.因此,在这种情况下,它不应该返回任何匹配.但是,如果我使用GT(>)或LT(<),我会在第一个Word元素上得到匹配.如果我使用eq(=),我得不到匹配.
所以:
//Word[text()='July' and //P1[@X < 90]]
Run Code Online (Sandbox Code Playgroud)
将会返回true
//Word[text()='July' and //P1[@X > 90]]
Run Code Online (Sandbox Code Playgroud)
如何在P1 @ X属性上正确约束?
另外,想象一下,我有多个Page元素,用于不同的页码.我如何另外约束上面的搜索以找到节点text()='July', P1@X < 90和Page @pageNumber=3?
以下代码不生成文件(我无法在任何地方看到该文件).缺什么?
try {
//create a temporary file
String timeLog = new SimpleDateFormat("yyyyMMdd_HHmmss").format(
Calendar.getInstance().getTime());
File logFile=new File(timeLog);
BufferedWriter writer = new BufferedWriter(new FileWriter(logFile));
writer.write (string);
//Close writer
writer.close();
} catch(Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我将把多个对象写入一个文件,然后在我的代码的另一部分中检索它们.我的代码没有错误,但它无法正常工作.你能帮我找一下我的代码有什么问题吗?我从不同的网站上读过不同的代码,但没有一个能为我工作!
这是我将对象写入文件的代码:MyClassList是一个arraylist,它包含我的类的对象(必须写入文件).
for (int cnt = 0; cnt < MyClassList.size(); cnt++) {
FileOutputStream fout = new FileOutputStream("G:\\address.ser", true);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(MyClassList.get(cnt));
}
Run Code Online (Sandbox Code Playgroud)
我将"true"添加到outputstream的构造函数中,因为我想将每个对象添加到文件末尾.那是对的吗?
这是我的代码从文件中读取对象:
try {
streamIn = new FileInputStream("G:\\address.ser");
ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
MyClass readCase = (MyClass) objectinputstream.readObject();
recordList.add(readCase);
System.out.println(recordList.get(i));
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
它最终只打印一个对象.现在,我不知道我是不是写得不好还是读得不对!
假设我们有这个简单的例子:
public Example extends Thread{
String temp;
public Example(){
}
@Override
public void run(){
.
.
.
.
temp = "a_value";
}
public static void main(String[] args) {
Example th = new Example();
th.start();
}
}
Run Code Online (Sandbox Code Playgroud)
Thread完成工作后怎么能给我返回String temp?
我试图将一些参数POST到服务器,但我需要设置代理.你可以帮我把它代码"设置代理"作为我的代码的一部分吗?
HttpHost proxy = new HttpHost("xx.x.x.xx");
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter("3128",proxy);
HttpPost httpost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("aranan", song));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
System.out.println("Request Handled?: " + response.getStatusLine());
in = entity.getContent();
httpclient.getConnectionManager().shutdown();
Run Code Online (Sandbox Code Playgroud) ...
<element>
<e:Element1 xmlns:e="mynamespace" > ... </.. >
<e:Element1 xmlns:e="mynamespace" > ... </.. >
<e:Element1 xmlns:e="mynamespace" > ... </.. >
<a/>
</element>
...
Run Code Online (Sandbox Code Playgroud)
而这个XPath:
//*[local-name()='element']/count(*)返回4什么都可以.但现在我想知道element1的数量是什么.我尝试了很多可能性,但没有成功.我必须使用local-name和namespace-uri()
我试图使用java方法从db中获取以下xml但我收到错误
用于解析xml的代码
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource(new ByteArrayInputStream(cond.getBytes()));
Document doc = db.parse(is);
Element elem = doc.getDocumentElement();
// here we expect a series of <data><name>N</name><value>V</value></data>
NodeList nodes = elem.getElementsByTagName("data");
TableID jobId = new TableID(_processInstanceId);
Job myJob = Job.queryByID(_clientContext, jobId, true);
if (nodes.getLength() == 0) {
log(Level.DEBUG, "No data found on condition XML");
}
for (int i = 0; i < nodes.getLength(); i++) {
// loop through the <data> in the XML
Element dataTags …Run Code Online (Sandbox Code Playgroud)