当前位置: 代码迷 >> Java相关 >> 求助输入方法
  详细解决方案

求助输入方法

热度:80   发布时间:2006-03-27 22:51:00.0
求助输入方法
怎么把TXT文件中的多行汉字信息读出并用JTextArea显示出来
先谢谢了
搜索更多相关的解决方案: 输入  TXT  JTextArea  汉字  

----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
我也是这样实现的但是
我用的是string=in.readLine();
JTextArea.setText(string);却不能像TXT文件中保存的一样
它只是显示了一行
----------------解决方案--------------------------------------------------------
JTextArea.setText(string);
那当然,你每次都重设了String,你要用JTextArea.append(String s);
这个方法就会把你的String加入到JTextArea中去

----------------解决方案--------------------------------------------------------

已经成功了 但是为什么不显示第一个字符呢
还有就是最后一行为什么出现
口口口口口口
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);


----------------解决方案--------------------------------------------------------
你应该把读取的是字符串,而不是字节(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);
}
不就可以了吗
----------------解决方案--------------------------------------------------------
这种方法是可以消除显示不正常问题 但是
都在第一行显示了 没有按正常的换行
----------------解决方案--------------------------------------------------------
知道问题所在了 是在
File fi=new File("help.txt");
int number=(int)fi.length();
出在了 问题转换的时候
char[] ch=new char[number-15];
这样就可以了但是为什么要-15呢
----------------解决方案--------------------------------------------------------
一个这么简单的问题,有必要搞的那么复杂吗
想要JTextArea自动换行还不容易
在status.append(temp)
改成status.append(temp+"\n");
不就解决了吗
----------------解决方案--------------------------------------------------------
谢谢 斑竹了 有很多小的细节都没学会真是惭愧
以后还要倍加努力
----------------解决方案--------------------------------------------------------
  相关解决方案