关于BufferedReader读取文件指定字符集问题

目录
  • BufferedReader读取文件指定字符集问题
  • BufferedReader类读取中文乱码

BufferedReader读取文件指定字符集问题

默认的读取方式

BufferedReader bufferedReader = new BufferedReader(new FileReader(realPath));

指定字符集方式

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(realPath),“UTf-8”));

BufferedReader类读取中文乱码

解决方法:

BufferedReader in = new BufferedReader(new FileReader(filename, Charset.forName("utf-8")));

在new FileReader类对象的时候,使用

FileReader(String fileName, Charset charset)

这个构造函数传一个参数指定一下字符集就OK了。原因是不指定字符集的话就会使用默认的字符集(一般是GBK),若与要读取文件的字符集不一致,则即便是字符流也会出现乱码。

字符集获取方法(Charset类是不可变类):

Charset.forName(String charsetName)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于BufferedReader的读取效率问题

    目录 BufferedReader的读取效率 1. 一般情况 2. 采用read+CharBuffer OJ系统里用BufferedReader提高效率 BufferedReader的读取效率 1. 一般情况 正常采用readline读取,一行行读取. readline要注意阻塞的情况,当一行没有"/r"."/n"."/r/n"就会阻塞在那. InputStreamReader isr = new InputStreamReader(connec

  • 关于BufferedReader的read()和readLine()的区别

    目录 BufferedReader的read()和readLine()区别 小结一下 项目经验 BufferedReader.readLine()总结 正确的代码如下 BufferedReader的read()和readLine()区别 从一个有若干行deep文件中依次读取各行,处理后输出,如果用以下方法,则会出现除第一行外首字符丢失的现象 String str = null; br=new BufferedReader(new FileReader(fileName)); do{ str =

  • Java IO及BufferedReader.readline()出现的Bug

    目录 Java IO及BufferedReader.readline()的Bug IO流 BufferedReader.readline()方法Bug 源码 使用BufferReader类的readLine()方法注意问题 一.BufferReader类的readLine()方法 二.DataInputStream类的readUTF()方法 Java IO及BufferedReader.readline()的Bug IO流 流:流是一组有序的,有起点和终点的字节集合,是对计算机中数据传输的总称.

  • 基于bufferedreader的read()与readline()读取出错原因及解决

    目录 bufferedreader的read()与readline()读取出错 bufferedReader中的readLine()源码解析 bufferedreader的read()与readline()读取出错 以前学习java的时候也没有太在意,直到最近做项目时使用了才发现这个问题,总是第一个字符输不出来 bufferedreader这个类借用别人的话来说,就是一个包装类 它可以包装字符流,将字符流放入缓存里,先把字符读到缓存里,到缓存满了或者你flush的时候,再读入内存,就是为了提高读

  • 使用BufferedReader读取TXT文件中数值,并输出最大值

    目录 BufferedReader读取TXT文件中数值输出最大值 1.题目 2.BufferedReader 介绍 3.思路 4.问题 5.解决 6.小结一下 使用BufferedReader读取文件的好处 BufferedReader读取TXT文件中数值输出最大值 1.题目 txt文件中数字的读取,并输出最大值 输出最大值92 2.BufferedReader 介绍 BufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添

  • Java基础知识之BufferedReader流的使用

    目录 一.BufferedReader类概念 二.BufferedReader类实例域 三.BufferedReader类构造函数 四.BufferedReader类API 五.BufferedReader类与InputStreamReader类比较 一.BufferedReader类概念 API文档描述: BufferedReader类从字符输入流中读取文本并缓冲字符,以便有效地读取字符,数组和行 可以通过构造函数指定缓冲区大小也可以使用默认大小.对于大多数用途,默认值足够大 由Reader构

  • 解决BufferedReader.readLine()遇见的坑

    目录 BufferedReader.readLine()遇见的坑 今天踩了这个坑,所以做个笔记 所以使用readLine()一定要注意 BufferedReader.readLine解析 BufferedReader.readLine()遇见的坑 在写ftp上传文件至服务器的过程中,有这样一个判断:判断某个文件夹下有多少个文件,内容为null的文件不上传,所以利用BufferedReader读取文件的内容,判断是否为null,所以用到了BufferedReader.readLine(),结果竟然

  • 聊聊为什么要使用BufferedReader读取File

    目录 使用BufferedReader读取File FileReader有三个用于read的函数 使用BufferedReader读取File的代码举例 使用BufferedReader循环读文件(新手要注意的细节) 1.BufferedReader读取一行 2.BufferedReader循环读每一行 3.注意细节 使用BufferedReader读取File Java编程思想一书里面有云,为了提高速度,可以用BufferedReader过滤器类,以提供缓冲区域.但是这个解释太简略了,看了这句

  • 关于BufferedReader读取文件指定字符集问题

    目录 BufferedReader读取文件指定字符集问题 BufferedReader类读取中文乱码 BufferedReader读取文件指定字符集问题 默认的读取方式 BufferedReader bufferedReader = new BufferedReader(new FileReader(realPath)); 指定字符集方式 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new Fi

  • python读取文件指定行内容实例讲解

    python读取文件指定行内容 import linecache text=linecache.getline(r'C:\Users\Administrator\Desktop\SourceCodeofMongoRedis\chapter_5\generate_string.py',10) 第十行内容为# info = '''1000001 王小小''' 实例扩展: 本文实例讲述了Python3实现从文件中读取指定行的方法.分享给大家供大家参考.具体实现方法如下: ''' 遇到问题没人解答?小编

  • python3读取文件指定行的三种方法

    行遍历实现 在python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到python的file.readline()进行迭代式的逐行读取: filename = 'hello.txt' with open(filename, 'r') as file: line = file.readline() counts = 1 while line: if counts >= 50000000:

  • 使用BufferedReader读取本地文件的操作

    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的. 在关闭文件的同时系统会自动调用flush() try { File file=new File("c://aa.txt"); FileInputStream is=new FileInputStream(file); InputStreamReader reader=new InputStreamReader

  • java按指定编码写入和读取文件内容的类分享

    可以指定编码如:utf-8来写入和读取文件.如果文件编码未知,可以通过该方法先得到文件的编码后再指定正确的编码来读取,否则会出现文件乱码问题. 如何识别文件编码请参考:java自动根据文件内容的编码来读取避免乱码 复制代码 代码如下: package com.zuidaima.util; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputS

  • php删除txt文件指定行及按行读取txt文档数据的方法

    本文实例讲述了php删除txt文件指定行及按行读取txt文档数据的方法.分享给大家供大家参考,具体如下: 向txt文件循环写入值: $keys = range(1,999); $file = fopen('key_11010000.txt',"w"); foreach($keys as $key){ fwrite($file,"$key\r\n"); } fclose($file); $f1 = fopen('key_11010000.txt','r'); whil

  • python按行读取文件并找出其中指定字符串

    python按行读取文件并找出其中指定字符串 #coding=utf-8 import os, time, sys, re #reload(sys) #sys.setdefaultencoding("utf8") # 不设置,否则编码方式不对应,无法找出字符串 file = open(path) sum=0 for line in file.readlines(): #line = line.strip("\n") key = "解析渲染" if

  • C++ 读取文件内容到指定类型的变量方法

    如下所示: #include <iostream> #include <fstream> #include <sstream> #include <string> using namespace std; int main(){ cout << "input the file name: "; string file_name; cin >> file_name; cout << endl; // if

  • .net core 读取本地指定目录下的文件的实例代码

    项目需求 asp.net core 读取log目录下的.log文件,.log文件的内容如下: xxx.log ------------------------------------------begin--------------------------------- 写入时间:2018-09-11 17:01:48  userid=1000  golds=10  -------------------------------------------end-------------------

随机推荐