黑马程序员技术交流社区

标题: utf-8编码导致文本文件有多余空格。去除空格长度怎么没变... [打印本页]

作者: Piaget    时间: 2015-2-8 21:17
标题: utf-8编码导致文本文件有多余空格。去除空格长度怎么没变...
本帖最后由 Piaget 于 2015-2-9 09:36 编辑
  1. package homeWork;

  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. import java.io.OutputStreamWriter;
  9. import java.io.UnsupportedEncodingException;

  10. public class Work2
  11. {

  12.         public static void main(String[] args)
  13.         {
  14.                 /*
  15.                  * 新建一个UFT-8编码的文本文件,用转换流写入一些汉字,然后再读取到控制台上
  16.                  */
  17.                 File f = new File("aaa.txt");
  18.                 //创建输入流
  19.                 InputStreamReader isr = null;
  20.                 //创建输出流
  21.                 OutputStreamWriter osw = null;
  22.                 //写入到文件
  23.                 try
  24.                 {
  25.                         osw = new OutputStreamWriter(new FileOutputStream(f), "utf-8");
  26.                         osw.write("哈嘻嘻呵呵");
  27.                         osw.flush();
  28.                         isr = new InputStreamReader(new FileInputStream(f), "utf-8");
  29.                         //创建容器
  30.                         char [] temp = new char [(int)f.length()] ;
  31.                         isr.read(temp);
  32. //                        System.out.println(new String(temp));//不加trim()文本文件长度15
  33.                         System.out.println(new String(temp).trim());//加trim()文本文件长度还是15
  34.                         System.out.println("文件长度"+f.length());
  35.                 } catch (UnsupportedEncodingException e)
  36.                 {
  37.                         e.printStackTrace();
  38.                 } catch (FileNotFoundException e)
  39.                 {
  40.                         e.printStackTrace();
  41.                 } catch (IOException e)
  42.                 {
  43.                         e.printStackTrace();
  44.                 }
  45.                 finally{
  46.                         try
  47.                         {
  48.                                 isr.close();
  49.                                 osw.close();
  50.                         } catch (IOException e)
  51.                         {
  52.                                 e.printStackTrace();
  53.                         }
  54.                 }
  55.                
  56.         }

  57. }
复制代码

作者: x1071765330    时间: 2015-2-8 21:51
赞!!!!
作者: O(∩_∩)O~wen    时间: 2015-2-8 22:11
trim只是去掉字符串开头和结尾的空格。“  abc  ”




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2