All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.datastax.util.io.IOUtil Maven / Gradle / Ivy
package com.datastax.util.io;
import com.datastax.util.lang.ReflectUtil;
import java.io.*;
import java.util.*;
import java.util.Map.Entry;
/**
* java 一个简单的io操作
*
* @author dataexa
*/
public class IOUtil {
public static final String UTF8 = "utf-8";
public static final String GBK = "gbk";
public static final String TABLE = "\t";
public static final String LINE = "\n";
public static final byte[] TABBYTE = TABLE.getBytes();
public static final byte[] LINEBYTE = LINE.getBytes();
public static InputStream getInputStream(String path) {
try {
return new FileInputStream(path);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return null;
}
public static BufferedReader getReader(String path, String charEncoding) throws FileNotFoundException, UnsupportedEncodingException {
return getReader(new File(path), charEncoding);
}
private static BufferedReader getReader(File file, String charEncoding) throws FileNotFoundException, UnsupportedEncodingException {
// TODO Auto-generated method stub
InputStream is = new FileInputStream(file);
return new BufferedReader(new InputStreamReader(is, charEncoding));
}
public static RandomAccessFile getRandomAccessFile(String path, String charEncoding) throws FileNotFoundException {
InputStream is = getInputStream(path);
if (is != null) {
return new RandomAccessFile(new File(path), "r");
}
return null;
}
public static void Writer(String path, String charEncoding, String content) {
OutputStream fos = null;
try {
fos = new FileOutputStream(new File(path));
fos.write(content.getBytes(charEncoding));
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
close(fos);
}
}
public static byte[] inputStreamToByte(InputStream inputStream) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int n = 0;
while ((n = inputStream.read(buf)) >= 0)
baos.write(buf, 0, n);
byte[] content = baos.toByteArray();
return content;
}
public static BufferedReader getReader(InputStream inputStream, String charEncoding) throws UnsupportedEncodingException {
return new BufferedReader(new InputStreamReader(inputStream, charEncoding));
}
public static String getContent(String path, String charEncoding) {
return getContent(new File(path), charEncoding);
}
public static String getContent(InputStream is, String charEncoding) {
BufferedReader reader = null;
try {
reader = IOUtil.getReader(is, charEncoding);
return getContent(reader);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return "";
}
public static String getContent(File file, String charEncoding) {
InputStream is = null;
try {
is = new FileInputStream(file);
return getContent(is, charEncoding);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "";
}
public static String getContent(BufferedReader reader) throws IOException {
StringBuilder sb = new StringBuilder();
String temp = null;
while ((temp = reader.readLine()) != null) {
sb.append(temp);
sb.append("\n");
}
return sb.toString();
}
/**
* 将一个对象序列化到硬盘中
*
* @param path
* @param hm
* @throws IOException
* @throws FileNotFoundException
*/
public static void WriterObj(String path, Serializable hm) throws IOException {
// TODO Auto-generated method stub
ObjectOutputStream objectOutputStream = null;
try {
objectOutputStream = new ObjectOutputStream(new FileOutputStream(path));
objectOutputStream.writeObject(hm);
} finally {
if (objectOutputStream != null) {
objectOutputStream.close();
}
}
}
/**
* 关闭字符流
*
* @param reader
*/
public static void close(Reader reader) {
try {
if (reader != null)
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 关闭字节流
*
* @param is
*/
public static void close(InputStream is) {
try {
if (is != null)
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 关闭字节流
*
* @param os
*/
public static void close(OutputStream os) {
try {
if (os != null) {
os.flush();
os.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static FileIterator instanceFileIterator(String path, String charEncoding) {
try {
return instanceFileIterator(IOUtil.getInputStream(path), charEncoding);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static FileIterator instanceFileIterator(InputStream is, String charEncoding) {
try {
return new FileIterator(is, charEncoding);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 加载一个文件到hashMap
*
* @param path
* @param charEncoding
* @param key
* @param value
* @return
* @throws UnsupportedEncodingException
*/
@SuppressWarnings({ "unchecked" })
public static HashMap loadMap(String path, String charEncoding, Class key, Class value) throws UnsupportedEncodingException {
FileIterator iteartor = null;
HashMap hm = null;
try {
iteartor = instanceFileIterator(path, charEncoding);
hm = new HashMap();
String[] split = null;
while (iteartor.hasNext()) {
String readLine = iteartor.next();
split = readLine.split("\t");
hm.put((K) ReflectUtil.conversion(split[0], key), (V) ReflectUtil.conversion(split[1], value));
}
} finally {
iteartor.close();
}
return hm;
}
public static void writeMap(Map hm, String path, String charEncoding) throws IOException {
Iterator> iterator = hm.entrySet().iterator();
FileOutputStream fos = null;
Entry next = null;
try {
fos = new FileOutputStream(path);
while (iterator.hasNext()) {
next = iterator.next();
fos.write(next.getKey().toString().getBytes());
fos.write(TABBYTE);
fos.write(next.getValue().toString().getBytes());
fos.write(LINEBYTE);
}
fos.flush();
} finally {
fos.close();
}
}
public static List readFile2List(String path, String charEncoding) throws UnsupportedEncodingException, FileNotFoundException {
return readFile2List(getReader(path, charEncoding));
}
public static List readFile2List(File file, String charEncoding) throws FileNotFoundException, UnsupportedEncodingException {
return readFile2List(getReader(file, charEncoding));
}
/**
* 从一个字符流读取文件到list.
*
* @param br
* @return
* @throws IOException
*/
public static List readFile2List(BufferedReader br) {
List all = new ArrayList();
String temp = null;
try {
while ((temp = br.readLine()) != null) {
all.add(temp);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return all;
}
public static void main(String[] args) throws UnsupportedEncodingException {
HashMap loadMap = loadMap("/Users/dataexa/git/dataexa_seg/library/userLibrary/userLibrary.dic", "utf-8", null, null);
System.out.println(loadMap.get("淘宝"));
}
}