黑马程序员技术交流社区
标题:
把文件中的数据读取到文本区域中的问题
[打印本页]
作者:
侯丛政
时间:
2013-2-19 16:30
标题:
把文件中的数据读取到文本区域中的问题
本帖最后由 侯丛政 于 2013-2-20 13:01 编辑
// 把文件中的数据读取出来显示在文本区域中
bu3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//读取数据前,把以前的数据清空
ta.setText("");
try {
BufferedReader br = new BufferedReader(new FileReader(
"pw.txt"));
String line = null;
while ((line = br.readLine()) != null) {
ta.append(line +
"\r\n"
); // 在把文本中的数据读取到文本区域时为什么要自己加上
"\r\n"
呢 ? (读取到控制台貌似是不用加的)
}
br.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
作者:
曹春贵
时间:
2013-2-19 16:45
从文本读取数据加载到文本域控件时,此时文本域就好比一个容器,默认加载后是长字符串连在一起的,需要你在每行读取数据后的末尾加上换行符,用此来给文本域内容换行。控制台你读取数据输出时,可能使用的换行输出,即out.println,每行输出默认加上换行。若使用out.print,那么输出的数据就是一行长字符串。
作者:
郭嘉
时间:
2013-2-19 16:59
readline本身的方法是不会将读到的数据后面添加换号标识的,需要自己手动添加
作者:
胥文
时间:
2013-2-19 17:29
本帖最后由 胥文 于 2013-2-19 17:30 编辑
读取到控制台应该是这样的吧
public static void main(String[] args) throws IOException {
BufferedReader bufr = new BufferedReader(new FileReader("D:\\myEclipse\\Genuitec\\MyEclipse 8.5\\Workspaces\\staticimport\\src\\cn\\itcast\\day1\\Demo1.java"));
String line = null;
while((line=bufr.readLine())!=null)
System.out.println(line);//
这里是通过println来换行的,如果写成System.out.print(line);就不会换行
//而文本区域的append(String str)方法是将给定文本添加到文本区域的当前文本,如果不加"\r\n"
//文本就全部连在一起了,所以必须手动添加换行;
}
作者:
偏執旳、靑春
时间:
2013-2-19 17:29
读到文本中时 没有一个换行的方法
而读到DOS窗口下时 你用的应该是println,这个Ln就是表示读了一行。
毕老师说了 \r\n在windows下用 \n在linux下用
编程这一般不可能预知用户的操作系统,所以java 封装了一个readline()方法可以自动换行,读容器里面有个方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2