博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java file() qa_java 得到文件编码
阅读量:5741 次
发布时间:2019-06-18

本文共 2022 字,大约阅读时间需要 6 分钟。

用java 要获得一个文件的编码,是很困难的,在网上找了很久,什么取前几个字节之类来进行判断,都不行,找了好久在网上终于找到一位前辈写的方法,经测试,是完全符合要求的。

package com.mt.qa;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

/**

*

*  Copyright (C) <2009> 

*

*   This program is free software: you can redistribute it and/or modify

*  it under the terms of the GNU General Public License as published by

*  the Free Software Foundation, either version 3 of the License, or

* (at your option) any later version.

*

*  This program is distributed in the hope that it will be useful,

*   but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

* GNU General Public License for more details.

*

* EncodingDetect.java

* �Զ���ȡ�ļ��ı���

* @author Billows.Van

* @since Create on 2010-01-27 11:19:00

* @version 1.0

*/

public class EncodingDetect {

public static void main(String[] args) {

String file = "http://s.szmttx.com:81/sp/ds.do?a=&b=1&c=10000&d=1000&e=1&f=13800431500&g=0&h=&i=&j=1&k=46000";

//  String file = "D:\\3.txt";

String encode=getJavaEncode(file);

System.out.println(encode);

readFile(file,encode);

}

/**

* �õ��ļ��ı���

* @param filePath �ļ�·��

* @return �ļ��ı���

*/

public static String getJavaEncode(String filePath){

BytesEncodingDetect s = new BytesEncodingDetect();

String fileCode = BytesEncodingDetect.javaname[s.detectEncoding(new File(filePath))];

return fileCode;

}

public static void readFile(String file, String code) {

BufferedReader fr;

try {

String myCode = code!=null&&!"".equals(code) ? code : "UTF8";

InputStreamReader read = new InputStreamReader(new FileInputStream(

file), myCode);

fr = new BufferedReader(read);    String line = null;    int flag=1;    // ��ȡÿһ�У��������ˣ�line��Ϊ��    while ((line = fr.readLine()) != null && line.trim().length() > 0) {     if(flag==1) {         line=line.substring(1);//ȥ���ļ�ͷ         flag++;        }     // ÿһ�д���һ��Student���

转载地址:http://ubnzx.baihongyu.com/

你可能感兴趣的文章
Azure系列2.1.1 —— BlobContainerPermissions
查看>>
图片等比例缩放
查看>>
1tb等于多少g 1TB和500G有什么区别
查看>>
LINUX档案权限
查看>>
数据结构及算法基础--优先队列(Priority Queue)
查看>>
C#使用Timer.Interval指定时间间隔与指定时间执行事件
查看>>
最浅显易懂的数据库索引讲解
查看>>
tcp/ip基础知识
查看>>
Apache许可翻译
查看>>
你必须非常努力,才能看起来毫不费力[转载]
查看>>
js遍历集合
查看>>
树链剖分——树形到线性的转化
查看>>
Linux常用操作指令
查看>>
Android NDK(二) CMake构建工具进行NDK开发
查看>>
AppSettings和ConnectionStrings的区别
查看>>
老赵 MSDN Webcast ASP.NET MVC框架开发系列课程
查看>>
MongoDB分布式集群搭建(分片加副本集)
查看>>
webstorm 2018.2.3 license server
查看>>
测试工作面试思路--简历篇
查看>>
个人中心标签页导航
查看>>