我想说清楚,并立即在FileOutputStream和FileChannel之间绘制一些相似之处.
首先,使用标准Java io编写文件的最有效方法似乎是使用包含BufferedOutputStream的FileOutputStream.因为它会在内部缓冲区溢出时自动刷新.能够进行单次写入(单字节,浮点数等)以及数组写入并且不担心速度是很方便的.你唯一不应该忘记的是关闭它(进行最后的冲洗).使用BufferedOutputStream包装器的好处很明显,每个人都必须拥有(我希望).
现在关于FileChannel.FileChannel有force方法,它相当于FileOutputStream中的flush,不是吗?并且javadocs清楚地说,您应该使用它来确保您对目标文件进行了更改.但是,如果没有"BufferedFileChannel"包装器,我不明白何时以及为什么要使用它.换句话说,FileChannel的缓冲在哪里?它是自动的并隐藏在FileChannel本身,就像在BufferedOutputStream中一样吗?如果没有,那么为什么我需要强制方法,因为没有什么可以强制的(所有更改都已经在使用write方法后应用于文件)并且我必须自己实现缓冲吗?
我看到的错误是调用reset()和release()永远不会返回,从而使我的应用程序处于无限停止状态.如果我在reset()或release()之前调用stop()并不总是可以重现挂起.
任何与MediaPlayer锁定有任何类似问题的人?有小费吗?我正在研究一个多线程应用程序.
查看正在保留的线程时,DDMS会报告以下内容:
CLASS | 方法| 文件| LINE | NATIVE
android.media.MediaPlayer _release MediaPlayer.java -2 true
android.media.MediaPlayer release MediaPlayer.java 1049 false
有没有办法在Eclipse中更改键盘快捷键以匹配Visual Studio 2010中的键盘快捷键?
我是C#开发人员,我习惯使用Visual Studio快捷方式.我现在正在使用Eclipse进行一些Java编程.这很有趣,但很痛苦,因为我的大脑很难接线:).
有没有办法附加一个jQuery事件处理程序,以便在任何以前附加的事件处理程序之前触发处理程序?我遇到过这篇文章,但是代码没有用,因为事件处理程序不再存储在数组中,这正是他的代码所期望的.我试图创建一个jQuery扩展来做我想要的,但这不起作用(事件仍按照它们绑定的顺序触发):
$.fn.extend({
bindFirst: function(type, handler) {
var baseType = type;
var dotIdx = type.indexOf('.');
if (dotIdx >= 0) {
baseType = type.substr(0, dotIdx);
}
this.each(function() {
var oldEvts = {};
var data = $.data(this);
var events = data.events || data.__events__;
var handlers = events[baseType];
for (var h in handlers) {
if (handlers.hasOwnProperty(h)) {
oldEvts[h] = handlers[h];
delete handlers[h];
// Also tried an unbind here, to no avail
}
}
var self = $(this);
self.bind(type, handler);
for (var h …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个有很多不同问题需要解决的大型网站.一个是我没有简单的方法将脚本包含在我<head>的手中而不用手动执行500多页.
我有可能在<body>标签内部包含jQuery.min .
我的问题是,除了它不是一个标准的实现,否则不会在<head>标签中加载jQuery 会产生任何负面影响?所有功能都可用吗?
我知道,如果我这样做,我将无法<head>在此之前或之前调用jQuery ...这没关系.
例:
<head>
Standard Head Stuff
</head>
<body>
<div>Some Content</div>
<!-- My Include is roughly here -->
<script type="text/javascript" src="jquery.min.js"></script>
<div>More content</div>
<script type="text/javascript">
$(document).ready(function(){
// Put my jQuery commands here
});
</script>
</body>
Run Code Online (Sandbox Code Playgroud) 我正在尝试输出第一行的特殊内容,但它似乎在每一行输出,这里是我使用的代码:
$query = mysql_query("SELECT * FROM chat WHERE id > '".$_GET["latest"]."' ORDER BY id DESC LIMIT 0, 20");
$number = mysql_num_rows($query);
$i = 1;
while ($row = mysql_fetch_assoc($query)) {
echo "<div class='babble' style='width:130px;overflow:hidden;margin:auto;'><a href=\"javascript:ajaxpage('user_profile.php?game=1&ajax=1&user=".$row['author']."', 'content');\" style=\"cursor:pointer;\"><font color=#ff4355><b>".$row['author']."</b></font></a><font color=#ff4355>:</font></b> ".$row['babble']."</div>";
if($i = 1)
{
echo "<script type='text/javascript'>newestid=".$row['id']."</script>";
$i = 2;
}
}
Run Code Online (Sandbox Code Playgroud) 我在switch/case语句中遇到问题.错误说:"案例表达式必须是常量表达式".我理解错误,我可以使用If解决它,但有人可以告诉我为什么case表达式必须在switch/case中保持不变.我的错误的代码示例:
public boolean onOptionsItemSelected(MenuItem item) {
int idDirectory = ((MenuItem) findViewById(R.id.createDirectory)).getItemId();
int idSuppression = ((MenuItem) findViewById(R.id.recycleTrash)).getItemId();
int idSeeTrash = ((MenuItem) findViewById(R.id.seeTrash)).getItemId();
switch (item.getItemId()) {
case idDirectory:
createDirectory(currentDirectory);
break;
case idSuppression:
recycleTrash();
break;
case idSeeTrash:
seeTrash();
break;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的解释!!
我有一个字符串.我们称之为'测试'.我想测试一个匹配这个字符串,但只使用正则表达式的backref.
我可以这样做:
进口重新
for line in f.readlines():
if '<a href' in line:
if re.match('<a href="(.*)">', line) == 'test':
print 'matched!'
Run Code Online (Sandbox Code Playgroud)
?这当然似乎不起作用,但我认为我可能会接近?基本上问题是我怎样才能重新只返回backref进行比较?
好吧,假设我正在开发一个项目,这个项目将有很多人同时在线,我需要向他们提供来自某些XML文件的数据.在涉及性能问题时,最好的方法是什么?是否有任何之间真正的差异xPath或DOM或者我应该不关心,只是继续前进,用一个我最喜欢的?
另外,使用RegEx解析xml或xhtml文件有什么问题?
我正在尝试在包级别创建一个@GenericGenerator注释,以便它可以被包中的所有实体使用.
1)我有一个带有注释的package-info.java类:
@org.hibernate.annotations.GenericGenerator(name="unique_id", strategy="uuid")
package com.sample.model;
Run Code Online (Sandbox Code Playgroud)
2)在同一个包中,我有一个具有以下属性的实体:
@Id
@GeneratedValue(generator="unique_id")
@Column(name="userid")
public String userID() {
return userID;
}
Run Code Online (Sandbox Code Playgroud)
这导致异常"Unknown Id.generator:unique_id".如果我在实体类中包含@GenericGenerator注释,它可以正常工作.但是,我想将其移至包级别,以便我可以在其他实体中重用它.
任何想法断开的想法?
谢谢!
java ×3
android ×2
jquery ×2
.net ×1
annotations ×1
binding ×1
buffering ×1
configure ×1
dom ×1
eclipse ×1
events ×1
filechannel ×1
hibernate ×1
html ×1
javascript ×1
media-player ×1
mysql ×1
php ×1
python ×1
regex ×1
while-loop ×1
xml ×1
xpath ×1