「java调用ctp」Java调用数据库

博主:adminadmin 2022-12-28 20:09:07 123

本篇文章给大家谈谈java调用ctp,以及Java调用数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java怎么调用thostftdctraderapi.h

这个是c/c++的头文件,java无法直接调用。

如果要开发ctp,其原生接口是c/c++的,建议用c/c++来开发,而不是java。

在Java的ctp中,客户端文件上传到服务端时候,老是出现connected rest异常,为什么。代码如下:

client中的out.flush()有问题。不能再循环内out.flush,它会向Server将你的OutputStream发送过去,然后你的服务器取读了一句话就写入了一句话关闭了。下一个循环你再向服务器推送数据就会发现连接关闭了。不知道正不正确。

关于使用Socket的flush过去无法readLine得到的问题

原因是这样的:

flush方法只是将字符刷新过去。

readLine方法读取一行数据,注意:一行数据是以\r\n作为终止条件的。

flush过去的数据一般是没有换行符的,所以就无法读取。

为什么有时候我们flush过去的却能够得到呢?有些时候,我们flush之后就没有代码了,然后代码执行完自动将流close调,所以给它加上了换行符过去,所以readLine可以读取到。

close方法也会刷新缓存流,并且会在数据结尾加上换行符。

这个很关键!

 

你可以尝试在flush之前使用BufferedWriter的newLine();方法,这样你会发现flush刷新过去的在服务器端是可以读取到的,不一定需要shutdownInputStream或者shutDownOutputStream。

 

newLine

public void newLine()

             throws IOException

写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 ('\n') 符。

 

抛出:

IOException - 如果发生 I/O 错误

close

public abstract void close()

                    throws IOException

关闭此流,但要先刷新它。在关闭该流之后,再调用 write() 或 flush() 将导致抛出 IOException。关闭以前关闭的流无效。

 

指定者:

接口 Closeable 中的 close

抛出:

IOException - 如果发生 I/O 错误

flush

public void flush()

           throws IOException

刷新该流的缓冲。

 

指定者:

接口 Flushable 中的 flush

指定者:

类 Writer 中的 flush

抛出:

IOException - 如果发生 I/O 错误

readLine

public String readLine()

                throws IOException

读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。 

返回:

包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

java程序相关

哥们你弄得咋那么难啊,嗨,有那么好的 数据库你应该直接用数据库来实现。看我的,

{String sq="select * from 用户 where name='"+user.getText()+"' and mima='"+pas+"'";

try {

String sss=(new DBconnection()).getnumber(sq);

if(sss.equals("null"))

JOptionPane.showMessageDialog(null,"用户名不正确或密码错误!");

else

{

f.setVisible(false);

new Selctapart(f);}

这是其中一段代码。new DBconnection()).getnumber(sq)

这是一个方法

String getnumber(String str) throws ClassNotFoundException, SQLException

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection

("jdbc:odbc:"+Source,"","");

st=con.createStatement();

rs=st.executeQuery(str);

rs.next();

int bo=rs.getRow();

String s="";

if(bo!=0)

s=rs.getString(1);

else s="null";

rs.close();

st.close();

con.close();

return s;

}

看看吧。这样用起来会很简单的,以后就会更简单的。

关于java调用ctp和Java调用数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。