packagecom.zjx.file;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;/** 需求:请大家把自己一个文件目录的所有文件格式以UTF-8输出,然后以GBK写入。

* 分析:

* A:封装目录

* B:遍历文件,获取该目录下的所有以.java结尾的文件

* C.读取该文件,遍历至StringBuffer文件

* D.写入文件*/

public classFilePathDemo {public static void main(String[] args) throwsIOException {//封装目录,需要修改文件格式的路径

File srcFolder = new File("文件路径");//递归功能实现

getAllJavaFilePaths(srcFolder);

}private static void getAllJavaFilePaths(File srcFolder) throwsIOException {//获取该目录下所有的文件或者文件夹的File数组

File[] fileArray =srcFolder.listFiles();//遍历该File数组,得到每一个File对象

for(File file : fileArray) {//继续判断是否以.java结尾,不是的话继续调用getAllJavaFilePaths()方法

if(file.isDirectory()) {

getAllJavaFilePaths(file);

}else{if (file.getName().endsWith(".java")) {//以GBK格式,读取文件

FileInputStream fis = newFileInputStream(file);

InputStreamReader isr= new InputStreamReader(fis, "GBK");

BufferedReader br= newBufferedReader(isr);

String str= null;//创建StringBuffer字符串缓存区

StringBuffer sb = newStringBuffer();//通过readLine()方法遍历读取文件

while ((str = br.readLine()) != null) {//使用readLine()方法无法进行换行,需要手动在原本输出的字符串后面加"\n"或"\r"

str += "\n";

sb.append(str);

}

String str2=sb.toString();//以UTF-8格式写入文件,file.getAbsolutePath()即该文件的绝对路径,false代表不追加直接覆盖,true代表追加文件

FileOutputStream fos = new FileOutputStream(file.getAbsolutePath(), false);

OutputStreamWriter osw= new OutputStreamWriter(fos, "UTF-8");

osw.write(str2);

osw.flush();

osw.close();

fos.close();

br.close();

isr.close();

fis.close();

}

}

}

}

}

java转码gbk_Java实现GBK转码到UTF-8(文件)相关推荐

  1. java 与jni转码_Android第十五课 Jni自带的iconv库不支持GBK转码

    场景说明 NDK环境下使用sqlite3存储用户数据,存储的是UTF-8格式,读取数据库,转换为GBK显示中文. 结论 Android自带的iconv库不支持GBK转码,也不支持GBK2312的转码 ...

  2. java 中判断字符是否为big5码_【转载】判断一个字符是西文字符还是中文字符

    转载:http://blog.chinaunix.net/u2/70445/showart_1133335.html 一.判断一个字符是西文字符还是中文字符    大家知道西文字符主要是指ASCII码 ...

  3. java 转码_JAVA自带转码方式的学习

    最近工作中遇到一个问题,由于海外系统环境默认采用UTF-8格式编码,以支持多语言环境.而国内系统由于只需要支持中英文,故默认采用GBK编码格式.因此当把海外环境生成的交易报告单发送给国内的报表系统时, ...

  4. java web学习项目20套源码完整版

    java web学习项目20套源码完整版 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自动化 ...

  5. 企业级java springcloud b2bc商城系统开源源码二次开发-负载均衡策略...

    简单轮询负载均衡 以轮询的方式依次将请求调度不同的服务器,即每次调度执行i=(i+1) mod n 文章来源 JAVA ssm b2b2c多用户商城系统源码 随机负载均衡 随机选择状态为UP的serv ...

  6. java B2B2C springmvc mybatis电子商务平台源码-Consul服务发现原理...

    Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License ...

  7. java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架

    继之前项目继续整合hystrix框架,hystrix框架为Netflix的模块,是一个容错框架.当用户访问服务调用者的时候,如果服务提供者出现异常导致无法正常返回出现请求超时的情况,而服务调用者并不知 ...

  8. Android第十五课 Jni自带的iconv库不支持GBK转码

    场景说明     NDK环境下使用sqlite3存储用户数据,存储的是UTF-8格式,读取数据库,转换为GBK显示中文. 结论     Android自带的iconv库不支持GBK转码,也不支持GBK ...

  9. Java Review - 并发编程_ScheduledThreadPoolExecutor原理源码剖析

    文章目录 概述 类结构 核心方法&源码解析 schedule(Runnable command, long delay,TimeUnit unit) scheduleWithFixedDela ...

最新文章

  1. oracle数据库查表_oracle数据库常用的99条查询语句
  2. lolfps高但画面不流畅_你吃鸡卡吗,超详细和平精英画面设置教程,解决卡顿,主播都在用...
  3. spring扫描自定义注解并进行操作
  4. python bottle支持https_python bottle 简介
  5. 重温设计模式之 Factory
  6. 开发 Windows 8 Bing地图应用(2)
  7. 可爱圣诞节手绘手帐素材,增添情趣
  8. [转载] Python time sleep()方法如何使用?
  9. 计算机系统 基础知识点汇总,超全!!!
  10. 默纳克系统服务器怎么查故障,默纳克查历史故障
  11. DMA burst 基本概念
  12. “但问耕耘,莫问收获”才有机会“碰运气”——新书《成功与运气:好运和精英社会的神话》解读
  13. 超级经典回帖专用语(转载)
  14. coldfusion_ColdFusion破坏神话
  15. 新特性解读 | MySQL 8.0 对 limit 的优化
  16. 什么是甘特图?怎么做甘特图?
  17. 微交易平台搭建开发-盘内实时K线对接
  18. 学习后可自考的网络安全证书
  19. 奥钻机器人_供应TB190-16机器人行走伺服行星齿轮减速机
  20. 幽美塔罗牌占卜:2020年你还有机会脱单吗

热门文章

  1. Java根据表格生成图_java绘制数据表格并导出为图片格式
  2. 不刷新页面的tab_现代 Web 页面开发流程
  3. c语言定义92bit位变量,Keil C51对C语言的关键词扩展之四: bit
  4. tp5使用layui表格_tp5+layui增、删、改、查。
  5. java 同域名下怎么访问同事的项目_喜大普奔,两个开源的前后端分离项目可以在线体验了...
  6. mysql 联合索引的命中规则_可能是全网最好的MySQL重要知识点/面试题总结
  7. mysql中like与rlike_MySQL中RLIKE运算符的使用详解-mysql教程-
  8. python类为什么要初始化_python3类对象需要在init中初始化吗?
  9. 可爱圣诞节手绘手帐素材,增添情趣
  10. 矢量素材 |企业商务画册设计参考