您的位置:首页 > 编程语言 > Java开发

文件读写操作-Java

2016-03-11 15:17 555 查看

读文件

字符串读取

File file = new File("/path/test.txt");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String tempString = null;
while ((tempString = bufferedReader.readLine()) != null) {
//todo:读写
}
bufferedReader.close();//关闭
//InputStream in = new GZIPInputStream(new FileInputStream(fileName));读取压缩文件


压缩文件读取

/**
* @param fromFilePath 文件路径
* @return
* @throws Exception
*/
public static void segFile(String fromFilePath) throws Exception {
InputStream in = new GZIPInputStream(new FileInputStream(fromFilePath));
BufferedReader br = new BufferedReader(new InputStreamReader(in));

String temp = null;
while ((temp = br.readLine()) != null) {
System.out.println(temp);
}
in.close();
br.close();
}


写文件

字符串写入

File file = new File("/path/test.txt");
FileOutputStream out = new FileOutputStream(file);
BufferedWriter br=new BufferedWriter(new OutputStreamWriter(out));
br.write("test write");
br.flush(); //刷缓存写到文件
br.colse(); //关闭连接


自动获取文件编码

/**
* 获取文件编码,其中ansi编码在windows debug模式下不支持
* @param fileName
* @return
*/
public static String getFileEncode(String fileName) {
String charSet = "";
try {
FileInputStream fis = new FileInputStream(new File(fileName));
byte[] bf = new byte[3];
fis.read(bf);
fis.close();
if (bf[0] == -17 && bf[1] == -69 && bf[2] == -65) {
charSet = "UTF-8";
} else if ((bf[0] == -1 && bf[1] == -2)) {
charSet = "Unicode";
} else if ((bf[0] == -2 && bf[1] == -1)) {
charSet = "Unicode big endian";
} else {
charSet = "ANSI";
}
} catch (Exception e) {
e.printStackTrace();
}
return charSet;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: