java读取utf8类型的文件

来源:互联网 发布:淘宝怎么找人刷信誉 编辑:程序博客网 时间:2024/06/07 06:31

  源文件为utf-8格式,且里面包含中文,如:

  in ('133','153','180','189') then '电信'

  in ('130','131','132','145','155','156','183','185','186') then '联通'

  1,不加转码的时候中文会乱码:

  Java代码

  1.public static void main(String[] args) throws Exception {

  2. File f = new File("http://www.cos120.com");

  3. InputStreamReader insReader = new InputStreamReader(new FileInputStream(f));

  4. BufferedReader bufReader = new BufferedReader(insReader);

  5. String line = new String();

  6. while ((line = bufReader.readLine()) != null) {

  7. System.out.println(line);

  8. }

  9. bufReader.close();

  10.}

  public static void main(String[] args) throws Exception {

  File f = new File("D:/youni_insert_youni_file_transfer_ft.pl");

  InputStreamReader insReader = new InputStreamReader(new FileInputStream(f));

  BufferedReader bufReader = new BufferedReader(insReader);

  String line = new String();

  while ((line = bufReader.readLine()) != null) {

  System.out.println(line);

  }

  bufReader.close();

  }

  Java代码

  1.in ('133','153','180','189') then '鐢典俊'

  2.in ('130','131','132','145','155','156','183','185','186') then '鑱旈?'

  in ('133','153','180','189') then '鐢典俊'

  in ('130','131','132','145','155','156','183','185','186') then '鑱旈?'

  2,如果对string进行utf-8编码,某些中文加单引号会导致乱码:

  Java代码

  1.public static void main(String[] args) throws Exception {

  2. //String charsetName = "UTF-8";

  3. File f = new File("D:/youni_insert_youni_file_transfer_ft.pl");

  4. InputStreamReader insReader = new InputStreamReader(new FileInputStream(f));

  5. BufferedReader bufReader = new BufferedReader(insReader);

  6. String line = new String();

  7. while ((line = bufReader.readLine()) != null) {

  8. System.out.println(new String(line.getBytes(),"utf-8"));

  9. }

  10. bufReader.close();

  11. }

  public static void main(String[] args) throws Exception {

  //String charsetName = "UTF-8";

  File f = new File("D:/youni_insert_youni_file_transfer_ft.pl");

  InputStreamReader insReader = new InputStreamReader(new FileInputStream(f));

  BufferedReader bufReader = new BufferedReader(insReader);

  String line = new String();

  while ((line = bufReader.readLine()) != null) {

  System.out.println(new String(line.getBytes(),"utf-8"));

  }

  bufReader.close();

  }

  Java代码

  1.in ('133','153','180','189') then '电信'

  2.in ('130','131','132','145','155','156','183','185','186') then '联??'

  in ('133','153','180','189') then '电信'

  in ('130','131','132','145','155','156','183','185','186') then '联??'

  3,读文件时候用utf8编码读,则不会有问题了:

  Java代码

  1.public static void main(String[] args) throws Exception {

  2. String charsetName = "UTF-8";

  3. File f = new File("D:/youni_insert_youni_file_transfer_ft.pl");

  4. InputStreamReader insReader = new InputStreamReader(new FileInputStream(f), charsetName);

  5. BufferedReader bufReader = new BufferedReader(insReader);

  6. String line = new String();

  7. while ((line = bufReader.readLine()) != null) {

  8. System.out.println(line);

  9. }

  10. bufReader.close();

  11. }

  public static void main(String[] args) throws Exception {

  String charsetName = "UTF-8";

  File f = new File("D:/youni_insert_youni_file_transfer_ft.pl");

  InputStreamReader insReader = new InputStreamReader(new FileInputStream(f), charsetName);

  BufferedReader bufReader = new BufferedReader(insReader);

  String line = new String();

  while ((line = bufReader.readLine()) != null) {

  System.out.println(line);

  }

  bufReader.close();

  }

  Java代码

  1.in ('133','153','180','189') then '电信'

  2.in ('130','131','132','145','155','156','183','185','186') then '联通'

0 0