java应用问答

转载 2005年04月29日 23:45:00

问: 如何获得某一个目录下的文件列表?

答:以“c:/Windows/.”目录为例,获得该目录下文件列表的代码为:






问:利用如下代码拷贝中文文件,为什么出错?




答:利用如下代码片断拷贝中文文件不会出错:




原代码造成出错的原因是:FileReader.read()返回一个int型数值,其取值范围是0 65535,通常来说是两个字节的。FileWriter.write(int c)向文件写入一个int型,通常来说也是两个字节的。如果某个字符的高位字节为空,那么其高位字节将被舍弃。FileOutputStream.write(int b)虽然接受一个int型作为参数,实际上只向文件写入一个字节,如果传递过来的参数是一个双字节的汉字,其高位字节将被舍弃,造成文件内容错误。建议:只使用InputStream/OutputStream进行I/O操作。代码为:






问:如何利用文件进行数据存取?

答:对于一般的科学计算应用程序,DataInputStreamDataOutputStream类通常是最好的选择。这两个类提供了存取各种数据的方法。下面的范例演示了构造DataInputStreamDataOutputStream的方法:




利用ObjectInputStreamObjectOutputStream同样可以进行数据存取。需要注意的是这样做增加了硬盘的开销,因为进行对象序列化过程添加了一些额外的信息。在利用ObjectInputStreamObjectOutputStream进行通信的时候,虽然数据发收过程得到了大大简化,但是对带宽的要求也大大地提高了。



问:如何获得可用的硬盘空间?

答:目前没有更好的纯Java解决方案,但有一个JConfig的类库提供了一些方法可以获得磁盘和文件信息,这个类库使用了JNI 方法。它的下载地址:http://www.tolstoy.com/samizdat/jconfig.html。值得注意的是,如果使用的是Windows系列操作系统,那么下面的方法在英文版的Windows系统上基本都能够得到正确的结果,但在中文版的Windows系统上基本都不能够获得正确的结果。




然后需要做的是对得到的dir.txt文件进行分析。

如果使用的是Uinx/Linux操作系统,可以使用类似的方法来获得相关信息。不过建议上述代码行8处使用的命令改为df -k >dir.txt



问:如何显示和存储拉丁语言中的特殊字符?

答:使用统一码Unicode可以显示和存储拉丁语言中的特殊字符。具体应用范例如下:




同样,在读取文件的时候也需要将读到的内容转换成统一码。






问:用Java怎么知道究竟有几个可用的存储设备?

答:在Windows系统中可以有多个逻辑分区,可应用下面的方法找出来:






问:如何解决用JDBC向数据库中插入数据的中文问题?

答:这个问题的实现通常与各个JDBC Driver的实现有关。目前大多数JDBC Driver采用本地编码格式来传输中文字符,例如中文字符“0x4175会被转成“0x41和“0x75进行传输。因此我们需要对JDBC Driver返回的字符及要发给JDBC Driver的字符进行转换。

当用JDBC Driver向数据库中插入数据时,需要先将Unicode转成Native Code;当 JDBC Driver从数据库中查询数据时,则需要将Native Code转换成Unicode 下面给出了这两种转换的实现:




有些JDBC Driver如果对jdbc driver Manager设置了正确的字符集属性,以上2个方法就不需要了。



问:我要做一个站点,让互联网用户可以了解查询我们公司的商品,我可以使用XML作为后台的Web数据库吗?

答:XML的确与数据库有相似之处,比如说它们都具有数据存储、数据有效性验证、数据查询、数据访问编程接口等特征。但是还有许多实际数据库所具备的功能是XML所不具备的,如:索引、安全机制、事务机制、数据完整性、多用户访问、触发器、多文档查询等。在实际应用中,对于一些数据量小、访问用户少、性能要求不高的门户站点而言,将XML文档直接作为数据库使用是可能的。然而对于商业应用而言,后台还是应选择专门的数据库。如果访问数量较大的话,还可以考虑在数据库与应用服务器之间采用XML作为信息缓存。但是数据库中对应数据的更新应是定期的,这样才能保证XML文件缓存中的数据在其生存期内与数据库中对应数据相一致。



问:XML-DataSchema有什么区别?

答:XML-DataSchema的区别是细微的。通常将对数据的某种约束规则统一称之为Schema,即模式。这种称法在数据库中广泛使用并被XML所沿袭。从这一角度而言,DTDXML-Data都可算是用于XML的某种Schema,凡是符合Schema约束的XML文档我们称之为有效的XML。为了区别起见,可以将XML-Data称之为XML-Data SchemaXML-Data Schema最早由微软提出,并于19981月被W3C接受成为“建议”(Note)。随后,在1999W3CXML-Data的基础上发布了“XML Schema工作草案”,这也就是通常所说的XML SchemaXML Schema200152正式发布为W3C标准。作为XML-Data的创建者,微软公司在XML Schema V1.0尚未正式出炉前就已经在他的MSXML解析器、IE浏览器、Biztalk Server 2000中提供了对XML-Data的广泛支持(事实上它们支持的是XML-Data的一个子集)。鉴于它与XML Schema的血缘关系,我们通常也称其为Schema,即MS Schema。基于XML-Data及其扩展的Schema有一共同特点,即Schema自身也都是标准的XML文档。这与传统的DTD规范是截然不同的。这也是我们通常将XML约束简单划分为DTDSchema的主要依据。需要指出的是,在IEMSXML等工具中所支持的MS Schema与目前W3C正式发布的XML Schema并不完全兼容。也就是说,在Biztalk Server 2000中建立的XSD文件未必会符合标准的XML Schema规范。

智能问答在金融领域中的实践与应用

大家好,我是数库科技的CTO夏磊,我们是一家创业型企业,成立于2009年,先后获得穆迪和京东金融的投资,在2016年被KPMG评为金融科技50强,非常高兴有机会跟大家分享下我们在行业工作中的一些经验。...

Unix编程/应用问答中文版 ---6./etc/system可调资源限制

阿里专家问答丨人工智能/机器学习技术在电商场景下的应用

《尽在双11》人工智能部分执笔人&阿里技术专家 乐田 与 仁重 就 “人工智能/机器学习技术在电商场景下的应用” 问题在OSCHINA与大家开展了问答活动。...

PCB布局布线基础技巧问答_“Altium杯”Altium_Designer应用技巧

一 PCB布局布线基础技巧  1、高频信号布线时要注意哪些问题? 1.信号线的阻抗匹配; 2.与其他信号线的空间隔离; 3.对于数字高频信号,差分线效果会更好; 2、 在布板时,如果线密,...

LSTM模型在问答系统中的应用

在问答系统的应用中,用户输入一个问题,系统需要根据问题去寻找最合适的答案。 1:采用句子相似度的方式。根据问题的字面相似度选择相似度最高的问题对应的答案,但是采用这种字面相似度的方式并不能有效的捕获...
  • lyb3b3b
  • lyb3b3b
  • 2017年07月09日 19:11
  • 225

CSS应用中十四个技巧精彩问答

CSS应用中十四个技巧精彩问答 更新时间:2011-05-07 21:06:46 浏览次数:169  CSS是Cascading style Sheets的简称,中文译作“层叠样式表单...

Gootip让Twitter成为基于地理位置的问答平台,并发布iPhone应用

Gootip是一家法国的初创公司,主营基于地理位置的问答服务,公司于今年五月推出了测试版。Gootip由三位前Price Minister成员Mathieu Bidart、Eric Gagnair...

c#创建类似Siri的语音问答的简单应用

利用.net的语音识别库,很容易就可以制作类似Siri的简单的问答程序。 实现步骤如下: 1.创建一个新项目,并添加对System.Speech的引用。(如下图所示) 2. 在窗体内分别定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java应用问答
举报原因:
原因补充:

(最多只允许输入30个字)