| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:求助输入方法
只看楼主 加入收藏
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
 问题点数:0 回复次数:9 
求助输入方法
怎么把TXT文件中的多行汉字信息读出并用JTextArea显示出来
先谢谢了
搜索更多相关主题的帖子: 输入 TXT JTextArea 汉字 
2006-03-27 22:51
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

利用IO流把文件里面的内容全部读出来,然后再构造一个JTextArea,把读出来的内容添加到里面去不就成了


可惜不是你,陪我到最后
2006-03-28 10:27
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
我也是这样实现的但是
我用的是string=in.readLine();
JTextArea.setText(string);却不能像TXT文件中保存的一样
它只是显示了一行

2006-03-28 10:37
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
JTextArea.setText(string);
那当然,你每次都重设了String,你要用JTextArea.append(String s);
这个方法就会把你的String加入到JTextArea中去

可惜不是你,陪我到最后
2006-03-28 10:43
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 

已经成功了 但是为什么不显示第一个字符呢
还有就是最后一行为什么出现
口口口口口口
BufferedReader buf=new BufferedReader(new FileReader(fi));
while(buf.read()!=-1)
{
buf.read(ch);
}
}catch(IOException e){
System.out.println(e);
}
String str=String.copyValueOf(ch);
status.append(str);


2006-03-28 11:36
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你应该把读取的是字符串,而不是字节(byte),所在你显示就不正常啦,并且你还要把显示放在循环里,否则的话,你得到的只是最后一个读出来的结果
BufferedReader buf=new BufferedReader(new FileReader(fi));
String temp=new String();
while((temp=buf.readLine())!=null)
{
status.append(temp)
}
}catch(IOException e){
System.out.println(e);
}
不就可以了吗

可惜不是你,陪我到最后
2006-03-28 11:48
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
这种方法是可以消除显示不正常问题 但是
都在第一行显示了 没有按正常的换行

2006-03-28 11:57
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
知道问题所在了 是在
File fi=new File("help.txt");
int number=(int)fi.length();
出在了 问题转换的时候
char[] ch=new char[number-15];
这样就可以了但是为什么要-15呢

2006-03-28 12:00
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
一个这么简单的问题,有必要搞的那么复杂吗
想要JTextArea自动换行还不容易
在status.append(temp)
改成status.append(temp+"\n");
不就解决了吗

可惜不是你,陪我到最后
2006-03-28 12:40
zhouyao_14
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2006-2-15
收藏
得分:0 
谢谢 斑竹了 有很多小的细节都没学会真是惭愧
以后还要倍加努力

2006-03-28 12:45
快速回复:求助输入方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014644 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved