BufferedReader读取文件问题

闪电侠客 2011-09-22 09:31:37
我要不断读取某个文件,第一次读取下来是正确的,当我要读取的文件中的值改变时,结果还是第一次读取的结果,不知是什么原因,那位大侠来帮一下啊
...全文
215 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
闪电侠客 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dalianwang74 的回复:]
典型的线程问题,Buffer读取缓冲区,值变了缓冲内容没变。

刷新浏览器
[/Quote]
刷新不可以的,我是把软件放在浏览器里显示的,还有上面说的在url后添加?math.random(),我添上之后就什么都不显示啦,我是这样添加的
url = new URL( "http://" + GuiEnvironment.getHostName() + "/" + dir + "/" + fileKind+"?&" + Math.random() );
那位高人指点一下啊
闪电侠客 2011-09-23
  • 打赏
  • 举报
回复
就是缓存问题,多谢各位帮忙,把分送上
gsy999 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 k3108001263 的回复:]
Java code


public static String getURLContent(String urlString, String encoding) {
if (urlString == null || "".equals(urlString.trim()))
return null;

StringBuffer content = n……
[/Quote]mark
曹胜欢 2011-09-22
  • 打赏
  • 举报
回复
缓存了。。。。
jsut_yi 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangxf_8341 的回复:]

缓存的原因了
url后面拼一个 ?math.random()试一下
[/Quote]
++
安心逍遥 2011-09-22
  • 打赏
  • 举报
回复
可能是缓存问题,后加随机数或者时间

祝楼主好运
淡定的峰哥 2011-09-22
  • 打赏
  • 举报
回复
缓存的原因了
url后面拼一个 ?math.random()试一下
打油的程序员 2011-09-22
  • 打赏
  • 举报
回复



public static String getURLContent(String urlString, String encoding) {
if (urlString == null || "".equals(urlString.trim()))
return null;

StringBuffer content = new StringBuffer();
try {
// 新建URL对象
URL url = new URL(urlString);
InputStream in = new BufferedInputStream(url.openStream());
InputStreamReader theHTML = new InputStreamReader(in,
encoding != null ? encoding : "gb2312");
int c;
while ((c = theHTML.read()) != -1) {
content.append((char) c);
}
}
// 处理异常
catch (MalformedURLException e) {
System.err.println(e);
} catch (IOException e) {
System.err.println(e);
}
return content.toString();
}



能运行的http://topic.csdn.net/u/20110921/14/0787740f-fdc3-48d5-aeda-f41d741c82ea.html
闪电侠客 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyuhua0066 的回复:]
流及时关闭了么?
[/Quote]
关了
URL url;
BufferedReader reader;
String line = "";

StringBuffer strBuf = new StringBuffer();

try
{
// ファイルからデータを取得
url = new URL( "http://" + GuiEnvironment.getHostName() + "/" + dir + "/" + fileKind );
reader = new BufferedReader( new InputStreamReader( url.openStream() ) );
while( ( line = reader.readLine() ) != null )
{
if( line.length() > 0 )
{
strBuf.append( line.trim() );
}
}
reader.close();

if( "".equals( strBuf.toString() ) )
{
// error( fileKind );
return;
}
}
catch( Exception e )
{
error( fileKind );
return;
}


这是其中的一部分代码,那位看看有什么问题吗?
liuyuhua0066 2011-09-22
  • 打赏
  • 举报
回复
流及时关闭了么?
hyunsan 2011-09-22
  • 打赏
  • 举报
回复
我也想知道这个问题
dalianwang74 2011-09-22
  • 打赏
  • 举报
回复
典型的线程问题,Buffer读取缓冲区,值变了缓冲内容没变。

刷新浏览器

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧