java IO流(网络图片转成字节流、保存到本地;文本内容输入输出)通用工具类
一、网络图片转成字节流和保存到本地工具类
/**
* 根据地址获得数据的字节流
* @param strUrl 网络连接地址
* @return
*/
public static byte[] getImgerFormNetByUrl(String strUrl){
HttpURLConnection conn = null;
try {
URL url = new URL(strUrl);
conn = (HttpURLConnection) url.openConnection();
//conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); //权限限制时可用此方法
conn.setRequestMethod("GET");
conn.setConnectTimeout(5*1000);
InputStream inputStream = conn.getInputStream();
byte[] btImg = readInputStream(inputStream);
return btImg;
}catch (Exception e){
e.printStackTrace();
}finally {
conn.disconnect();
}
return null;
}
/**
* 从输入流中获取数据
* @param inputStream 输入流
* @return
* @throws IOException
*/
public static byte[] readInputStream(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
//输出文件流
OutputStream os = new FileOutputStream("E:\\imgggg\\test.jpg");
int len = 0;
//写入
while ((len = inputStream.read(buffer)) != -1){
os.write(buffer,0,len);
}
//
while ((len = inputStream.read(buffer)) != -1){
outputStream.write(buffer,0,len);
}
os.close();
inputStream.close();
return outputStream.toByteArray();
}
main方法
public static void main(String[] args) {
String url = "http://pic9.photophoto.cn/20081128/0033033999061521_b.jpg";
getImgerFormNetByUrl(url);
}
二、文本内容输入输出工具类
/**
* 创建文件 并写入内容
*/
public static void opFile(){
String sourceString = "测试测试测试";
byte[] bytes = sourceString.getBytes();
if(bytes != null){
try {
File file = new File("E:\\Test\\test.txt");
if (!file.exists()){
File files = new File(file.getParent());
files.mkdirs();
file.createNewFile();
}
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(bytes);
fileOutputStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
/**
* 以字节为单位读取文件内容,一次读一个字节
*/
public static void ipFile(){
File file = new File("E:\\Test\\test.txt");
InputStream inputStream = null;
try {
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
//一次读一个字节
inputStream = new FileInputStream(file);
int tembyte;
while ((tembyte = inputStream.read()) != -1){
System.out.println(tembyte);
}
}catch (Exception e){
e.printStackTrace();
}finally {
if (inputStream != null){
try {
inputStream.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
/**
* 字符形式 读取文件 一行一行读取
*/
public static void inbufFile(){
try {
Reader reader = new FileReader("E:\\Test\\test.txt");
BufferedReader bufferedReader = new BufferedReader(reader);
String line = bufferedReader.readLine();
StringBuffer buffer = new StringBuffer();
while (line != null){
buffer.append(line+"\r\n");//追加到对象尾部
line = bufferedReader.readLine();
}
System.out.println(buffer.toString());
bufferedReader.close();
reader.close();
}catch (IOException e){
e.printStackTrace();
}
}
以上工具类可直接使用,错误之处请指出。转载指明出处-------陌