这段程序哪里错了,java读取文件夹里面的东西。为什么读取字母能够读出儿读汉字则乱码

如题所述

程序没有错哈。。汉字不兼容是很常见的,因为编码方式不同
而且你直接每次获取char,而汉字一个字不止一个字符,这样被拆开了必然就乱码了
为了稳定的I/O,建议把提示语、文件名和文件内容换成英文的追问

我用的是FileReader,就是专门用来读汉字的。读字符

追答

你试试用InputStreamReader代替FileReader
InputStreamReader isr=new InputStreamReader(new FileInputStream(fileName),"UTF-8");

指定一下编码方式看还有错么

温馨提示:内容为网友见解,仅供参考
无其他回答

这段程序哪里错了,java读取文件夹里面的东西。为什么读取字母能够读出儿...
程序没有错哈。。汉字不兼容是很常见的,因为编码方式不同 而且你直接每次获取char,而汉字一个字不止一个字符,这样被拆开了必然就乱码了 为了稳定的I\/O,建议把提示语、文件名和文件内容换成英文的

java中怎么读取文件内容(java中如何读取文件)
4、如果俩个服务器都在内网里面,可以通过映射到本地磁盘,然后用Java直接读取磁盘文件的方式进行读取。如果不是,那么你只能让另一个服务器以接口的方式提供文件读取服务了。5、不可行。每次读取文件都需要创建缓存文件流,很占内存,而且多次读取实际上也是一个文件,还不如直接读取文件,之后通过条件多次...

C语言读取文件出现错误,读取了两遍而且有乱码是什么情况
程序执行两边,肯定是代码问题。数据对计算机而言就是2进制,你看乱码说明显示的时候没有对应字符集,你把原文件打开看有乱码没。或者你文件有中文,你试试用全部英文和数字的文件读取。另外,文件有格式的话,你换fscanf和fprintf看看。

java中编码与解码分别指什么?
1.javac在控制台编译java类文件。 通常我们手动建立一个java文件Demo.java,并保存。此时Demo.java文件的编码为ANSI,中文操作系统下就是GBK.然后使用javac命令来编译该源文件。”javac Demo.java”。Javac也需要读取java文件,那么javac是使用什么编码来解码我们读取的字节呢?其实javac采用了操作系统默认的GBK编码解码...

java读取pdf文件的时候出现异常
程序介绍:本程序将文本格式pdf中的文字读取出来,存入与pdf文件同文件名的TXT文本文档。支持中文,但是在某些文字上会出现乱码.package com.small;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.net.MalformedURLException;impor...

怎么读取java文件中字符编码格式
1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文...

非隐藏的文件夹看不到了?但其中的内容仍然可以正常使用
产生问题的文件夹是大家都熟悉的“Program Files”,转移过程中系统对话框弹出“是否合并**日期的相同文件夹”(这很奇怪。完全格式化后就不会有文件夹了,而要合并的前提是有),转移完成后就是看不到该文件夹,但是安装到D盘的程序仍然可以正常使用,确信所有文件已全转入。尝试新建同一名称文件夹,可以顺利建成。各位这...

深度解析Java中的ReadWriteLock:高效处理并发读写操作
ReadWriteLock分为读锁(Read Lock)和写锁(Write Lock)。读锁是共享的,多个线程可以同时持有读锁,这就像是多人同时看同一本书。而写锁则是独占的,一旦一个线程获取了写锁,其他线程就只能乖乖等它写完,就像只有一个人能写日记,其他人等着。现在,咱们用Java代码来展示一下ReadWriteLock的基本...

...struts1.2+hibernate3.2+mysql4.0插入数据和读取数据乱码问题.急...
但是在读取数据的时候就出现问题了,因为数据读出也采用ISO8859-1字符集,而 JSP的文件头中有语句,这说明页面采用GB2312的字符集显示,这样就和读出的数据不一样。这时页面显示从数据库中读出的字符是乱码,解决的方法是对这些字符转码,从ISO8859-1转成GB2312,就可以正常显示了。这个解决办法对很多...

如何防止程序员反编译?
于是我们的逻辑就简单了:只要在交给JVM时是正确的class文件就行了,在这之前是什么样子无所谓!所以,我们的加密的整个逻辑就是: 在编译代码时(如使用ant或maven),使用插件将代码进行加密(加密方式自己选),将class文件里面的内容读取成byte[],然后进行加密后再写回到class文件(这时候class文件里面的内容不是标准的...

相似回答