通过哪种方式返回0(读取的字节数)InputStream.read?如何处理这种情况?
更新:我的意思是read(byte[] b)或read(byte[] b, int off, int len)返回读取字节数的方法.
我一直在研究noSQL DB并且无法为自己满意地回答这个问题:是否有可能针对noSQL DB构建复杂的查询?
我想知道的查询类型是这样的:
select * from DB where
vara > x AND
varb = 2 AND
varc < x AND
vard in (x,y,z) AND
vare like '%texthere%' AND
varf = 2 AND
varg = 3 and
etc...
Run Code Online (Sandbox Code Playgroud)
注意:我知道我不能使用SQL,如上所述,我问的是如何使用上面的伪逻辑进行查询,换句话说,是一堆不同的条件.到目前为止,我发现最好的答案是你有一个RDBMS来查询,然后根据云中的密钥获取数据.这对我来说似乎不一定有效.
所以作为一个跟进.如果只是试图解决"搜索400万行"问题而不是"我们有数十亿行数据"问题,我是否应该费心去查看noSQL数据库?
是否在Java servlet中创建了HttpSession
HttpSession s = request.getSession();
Run Code Online (Sandbox Code Playgroud)
?
在我的代码中我没有写那个,但是当我使用时if (request.getSession(false) == null) ...,它不起作用.为什么?
我想开始为Android开发NFC应用程序.我最近开始使用android,我发现它是一个非常有趣的开发平台.在我出去投资购买具有内置NFC阅读器和购买标签的Android设备之前,我想了解一个人如何为他们编写代码.
我找到了Open NFC Android模拟器,它似乎是我正在寻找的.我已下载:1.Open NFC for Android 2. Open NFC核心版
在为Open NFC创建了一个avd之后,我按照说明进行操作.
现在我面临的问题是,在模拟器中,当我进入无线设置然后启用NFC时,它表示存在错误.我已经尝试将IP设置为10.0.2.2以及我从ipconfig获得的IP但无济于事.没有我能看到的日志.此外,我尝试在运行防火墙时完全禁用防火墙,以免意外阻塞.
作为旁注,我想提一下,在启动模拟器之前,我已经启动了Connection Manager.
有没有人有使用Open NFC for Android的经验,如果有人可以指出我更好的指令集我会非常感激如果有人可以建议另一个模拟器我可以通过它尝试一些示例代码并更好地了解NFC .
adb logcat的输出是
W/KeyCharacterMap( 165): No keyboard for id 0
W/KeyCharacterMap( 165): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_cc_ip
D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 10.0.2.2
D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_CC_IP: 10.0.2.2
D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_hal_mode_list
D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 1
D/NfcSettings( 165): onPreferenceChange: Setting NFC mPreferenceNfcHalMode: SIMULATOR:1 …Run Code Online (Sandbox Code Playgroud) 抽象类不需要包含任何抽象方法.
除了抽象类无法实例化这一事实之外,还有其他原因使类抽象化吗?
有没有办法上传文件,将其保存到Stream,这个Stream我会暂时保存在Session中,最后,我会尝试预览这个Session中的上传文件?
例如,pdf文件.
谢谢!!
EDITED
这是我正在尝试做的事情:
HttpPostedFileBase hpf = Request.Files[0] as HttpPostedFileBase;
byte[] buffer = new byte[hpf.InputStream.Length];
MemoryStream ms = new MemoryStream(buffer);
ms.Read(buffer, 0, (int)ms.Length);
Session["pdf"] = ms.ToArray();
ms.Close();
Run Code Online (Sandbox Code Playgroud)
在另一种方法中,我这样做:
byte[] imageByte = null;
imageByte = (byte[])Session["pdf"];
Response.ContentType = "application/pdf";
Response.Buffer = true;
Response.Clear();
Response.BinaryWrite(imageByte);
Run Code Online (Sandbox Code Playgroud)
但没有任何事情发生...我的浏览器甚至打开一个nem页面来显示pdf文件,但是会显示一个窗口,说该文件不是pdf(或者文件不是用pdf启动的,我不明白那)
我试图理解ErrorJava中的类.
我对Exception类有很好的理解,但是找不到Error类的代码示例.我已经尝试过搜索网络和java.sun网站了,但我找不到任何有用的东西来帮助我更好地理解这一点.
我如何Error在程序中使用该类,以及我们在哪里使用它?
我有一个字符串
var str= 'asdf<br>dfsdfs<br>dsfsdf<br>fsfs<br>dfsdf<br>fsdf';
Run Code Online (Sandbox Code Playgroud)
我想更换<br>与\r使用
str.replace(/<br>/g,'\r');
Run Code Online (Sandbox Code Playgroud)
,但它只取代了第一个<br>...任何想法为什么?
从Eclipse 3.6运行Tomcat时,避免permgen空间错误的最佳方法是什么?这是通过添加以下行来完成的:
-XX:MaxPermSize=512m
Run Code Online (Sandbox Code Playgroud)
在结尾eclipse.ini?或者是否需要额外的配置?
我正在尝试使用这种代码动态加载JDBC驱动程序:
try{
URL[] url={new URL("file:libs/mysql-connector-java-5.1.21.jar")};
URLClassLoader loader = new URLClassLoader(url, System.class.getClassLoader());
loader.loadClass(drivername);
Enumeration<Driver> drivers = DriverManager.getDrivers();
while(drivers.hasMoreElements()){
Driver driver = drivers.nextElement();
System.out.println("driver:"+driver);
}
Class.forName(drivername, true, loader);
drivers = DriverManager.getDrivers();
while(drivers.hasMoreElements()){
Driver driver = drivers.nextElement();
System.out.println("driver:"+driver);
}
Connection connect = DriverManager.getConnection(jdbcurl, user,
password);
return connect;
}
catch (MalformedURLException e){
e.printStackTrace();
return null;
}
Run Code Online (Sandbox Code Playgroud)
第一个while循环显示类路径的驱动程序:
driver:sun.jdbc.odbc.JdbcOdbcDriver@35712651
driver:oracle.jdbc.OracleDriver@58df0438
driver:com.ibm.db2.jcc.DB2Driver@525c7734
driver:SQLServerDriver:1
Run Code Online (Sandbox Code Playgroud)
第二个循环显示相同的驱动程序,但没有MySQL驱动程序.
我的问题是为什么?我错过了什么?
我在JavaDoc中DriverManager读到,如果驱动程序已加载,则每个驱动程序都会尝试通过drivermanager注册自己.在我的代码中,这应该是loader.loadClass(drivername);.我认为这段代码应该调用静态部分,例如:
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register …Run Code Online (Sandbox Code Playgroud) java ×6
abstract ×1
android ×1
asp.net-mvc ×1
c# ×1
classloader ×1
eclipse ×1
emulation ×1
exception ×1
file-upload ×1
httpsession ×1
inputstream ×1
io ×1
java-ee ×1
javascript ×1
jdbc ×1
nfc ×1
nosql ×1
open-nfc ×1
session ×1
stream ×1
tomcat ×1