首页 > 代码库 > Java文件读写详解。 附txt乱码问题, html乱码问题
Java文件读写详解。 附txt乱码问题, html乱码问题
先看代码
1 public class FileReader { 2 public static String readFile(String fileName) { 3 String fileContent = ""; 4 try { 5 File f = new File(fileName); 6 if (f.isFile() && f.exists()) { 7 InputStreamReader read = new InputStreamReader( 8 new FileInputStream(f), "gbk"); 9 BufferedReader reader = new BufferedReader(read);10 String line;11 while ((line = reader.readLine()) != null) {12 fileContent += line;13 }14 read.close();15 }16 } catch (Exception e) {17 e.printStackTrace();18 }19 return fileContent;20 }21 }
这里有几个比较重要的对象
File 定义文件路径
InputStreamReader File与BufferReader的桥梁
BufferReader 内存数据与InputStreamReader的桥梁
简单来说就是File先给出了文件路径
之后通过InputStreamReader将文件读取到内存块中,但是此时离真正可用的内存数据还有一步,需要借用BufferReader的readline方法
于是将InputStreamReader与BufferReader绑定,则可以新的BufferReader对象将数据写入到内存中
同理于写文件
1 public class FileWriter { 2 public static void writeFile(String fileName, String fileContent) { 3 try { 4 File f = new File(fileName); 5 if (!f.exists()) { 6 f.createNewFile(); 7 } 8 OutputStreamWriter write = new OutputStreamWriter( 9 new FileOutputStream(f), "gbk");10 BufferedWriter writer = new BufferedWriter(write);11 writer.write(fileContent);12 writer.close();13 } catch (Exception e) {14 e.printStackTrace();15 }16 17 }18 }
此外有时我们会遇到读取的文件是乱码的情况
这是因为所选择的编码方式于文件的编码格式不符合,如此只要修改InputStreamReader中的编码参数就可以了
当我们写一个html文件时,有时也会出现乱码的问题
虽然我们写入时并非乱码,但用html打开时就是乱码,这个问题的原因是html通常用utf-8来打开,如果用gbk或其他格式保存,则以html格式打开时会显示乱码
以上
Java文件读写详解。 附txt乱码问题, html乱码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。