java如何判断一个文件是不是存在乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何判断一个文件是不是存在乱码相关的知识,希望对你有一定的参考价值。
事先不知道该文件的编码
参考技术A 比如一些非法字符是乱码的话,那你就读全部文件,判断里面是否有些字符就好了吧追问不太明白。。
判断是否有些字符?能不能详细说,举例子最好
一些小方块之类的
追问知道你的意思了。。不过这样不太可靠吧,比如:大多数乱码是英文问号,但是有可能文件本来就有问号的
追答我只是思路一种思路呀,具体看你的
参考技术B 乱码是因为你用一种编码格式来查看另外一个编码格式的文件。文件本身是没有问题。追问
我的文件是从网页上爬下来的,有可能爬下来的时候出现乱码。。所以想检查爬下来的文件
参考技术C 这是相对而言的,看你具体是用什么编码格式进行编码的追问我的文件是从网页上爬下来的,有可能爬下来的时候出现乱码。。所以想检查爬下来的文件
追答如果你大概知道文件里面的内容。你可以通过字符数组进行查找。 定义一个字符数组。 迭代字符数据。将字符数组在文件中匹配。如果匹配成功率超过了差不多50%,那么应该不存在乱码问题。否则肯定有乱码了。你可以先试试。 希望对我的答案满意。 若有疑问。晚上再解答。现在下班了。祝工作愉快!
追问觉得你还是比较理解我的意思的,我还有一点迷惑。再次请教你了
你说的匹配在我这是不大行得通的,因为网页被爬下来的时候,只是某些特殊字符,像•
类似于这个符号的,在保存爬下来的网页的时候,这样的符号被保存为问号了,但数目也不是太多。其他汉字和常见标点正常
我想知道,保存之后的这个问号,是不是已经不能转化为•
也就是说,此时的问号已经只是一个问号,没办法检测他是否为乱码?
这么久了 不晓得你的问题是否得到解决。
我们可以把思路逆转一下。既然不知道是神马编码的。我们可以判断文件中存在的“乱码”的个数。也就是你上面说的特殊字符。 用这些特殊字符进行一定数量的匹配。 如果出现的次数较多。应该可以得知该文件存在乱码。反之则不存在乱码。 这个结果可能不一定能解决问题。希望对你有所启示。祝工作愉快!
能不能详细说下原因
追答不能就是不能,你要怎么个详细法?你都不知道编码,你就算读出每个字符,就算他是乱码,你没有编码,你怎么判断?有编码就能判断。
追问不好意思,请高手息怒,本人菜鸟一个。。
如果知道它的编码怎么做?
编码是有一个范围的,你读入文件字符,一个个对比,如果字符的编码超过的你设定的编码范围,就是乱码。
追问谢谢,受教了
java 如何判断文件路径是不是存在
是文件路径 不是文件
参考技术A existspublic boolean exists()测试此抽象路径名表示的文件或目录是否存在。
返回:
当且仅当此抽象路径名表示的文件或目录存在时,返回 true;否则返回 false
isFile
public boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件。如果该文件不是一个目录,并且满足其他与系统有关的标准,那么该文件是标准 文件。由 Java 应用程序创建的所有非目录文件一定是标准文件。
返回:
当且仅当此抽象路径名表示的文件存在且 是一个标准文件时,返回 true;否则返回 false本回答被提问者采纳
以上是关于java如何判断一个文件是不是存在乱码的主要内容,如果未能解决你的问题,请参考以下文章