3、关于String,File,InputStream之间的相互转换

1、介绍了关于String,File,InputStream之间的相互转换

1.1  String2InputStream

        /**
	 * String2InputStream(String str)的工具方法
	 *
	 * @param str
	 *            需要转换的字符串str
	 * @return 返回的是字符串str转换为inputstream的结果
	 */
	public static InputStream String2InputStream(String str) {
		ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
		return stream;
	}

1.2  inputStream2String(InputStream is)  ;  String inputStream2String(InputStream is, String charset)

        /**
	 * inputStream2String(InputStream is)
	 *
	 * @param is
	 *            输入流InputStream is
	 * @return 输入流InputStream is转换为的String
	 */
	public static String inputStream2String(InputStream is) {
		StringBuffer buffer = null;
		BufferedReader in = null;
		try {
			in = new BufferedReader(new InputStreamReader(is));
			buffer = new StringBuffer();
			String line = "";
			while ((line = in.readLine()) != null) {
				buffer.append(line);
			}
		} catch (Exception e) {
			throw new RuntimeException(
					"在调用Utils.inputStream2String(InputStream is)发生异常!!!");
		}
		return buffer.toString();
	}

	/**
	 * inputStream2String(InputStream is, String charset)
	 *
	 * @param is
	 *            输入流InputStream is
	 * @param charset
	 *            字符集String charset
	 * @return 输入流InputStream is,字符集String charset转换为的String
	 */
	public static String inputStream2String(InputStream is, String charset) {
		ByteArrayOutputStream baos = null;
		try {
			baos = new ByteArrayOutputStream();
			byte data[] = new byte[1024];
			int len = -1;
			while ((len = is.read(data)) != -1) {
				baos.write(data, 0, len);
			}
			String a = baos.toString(charset);
			return baos.toString(charset);
		} catch (IOException e) {
			throw new RuntimeException(
					"在调用Utils.inputStream2String(InputStream is,String charset)发生异常!!!");
		} finally {
			if (null != baos) {
				try {
					baos.close();
				} catch (IOException e) {
					throw new RuntimeException(
							"在调用Utils.inputStream2String(InputStream is, String charset)发生异常!!!");
				}
				baos = null;
			}
		}
	}

1.3  file2InputStream

	/**
	 * file2InputStream(File file)
	 *
	 * @param file
	 *            文件 File file
	 * @return 文件File转换为的InputStream
	 */
	public static InputStream file2InputStream(File file) {
		InputStream in = null;
		try {
			in = new FileInputStream(file);
			return in;
		} catch (FileNotFoundException e) {
			throw new RuntimeException(
					"在调用Utils.file2InputStream(File file)发生异常!!!");
		}

	}

	/**
	 * file2InputStream(String filenPath)
	 *
	 * @param filenPath
	 *            文件 File的具体路径
	 * @return 文件File转换为的InputStream
	 */

	public static InputStream file2InputStream(String filenPath) {
		InputStream in = null;
		File file = null;
		try {
			file = new File(filenPath);
			in = new FileInputStream(file);
			return in;
		} catch (FileNotFoundException e) {
			throw new RuntimeException(
					"在调用Utils.file2InputStream(String filenPath)发生异常!!!");
		}

	}

1.4  inputstreamtofile

        /**
	 * inputstreamtofile(InputStream ins, File file)
	 *
	 * @param ins
	 *            输入流InputStream ins
	 * @param file
	 *            输入流InputStream ins转换的文件
	 */
	public static void inputstreamtofile(InputStream ins, File file) {
		OutputStream os = null;
		try {
			os = new FileOutputStream(file);
			int bytesRead = 0;
			byte[] buffer = new byte[1024];
			while ((bytesRead = ins.read(buffer)) != -1) {
				os.write(buffer, 0, bytesRead);
			}
		} catch (Exception e) {
			throw new RuntimeException(
					"在调用Utils.inputstreamtofile(InputStream ins, File file)发生异常!!!");
		} finally {
			try {
				if (os != null)
					os.close();
				if (ins != null) {
					ins.close();
				}
			} catch (IOException e) {
				throw new RuntimeException(
						"在调用Utils.inputstreamtofile(InputStream ins, File file)发生异常!!!");
			}

		}

	}

	public static void inputstreamtofile(InputStream ins, String filePath) {
		OutputStream os = null;
		File file = null;
		try {
			file = new File(filePath);
			os = new FileOutputStream(file);
			int bytesRead = 0;
			byte[] buffer = new byte[1024];
			while ((bytesRead = ins.read(buffer)) != -1) {
				os.write(buffer, 0, bytesRead);
			}
		} catch (Exception e) {
			throw new RuntimeException(
					"在调用Utils.inputstreamtofile(InputStream ins, File file)发生异常!!!");
		} finally {
			try {
				if (os != null)
					os.close();
				if (ins != null) {
					ins.close();
				}
			} catch (IOException e) {
				throw new RuntimeException(
						"在调用Utils.inputstreamtofile(InputStream ins, File file)发生异常!!!");
			}

		}

	}
时间: 2024-11-01 02:35:43

3、关于String,File,InputStream之间的相互转换的相关文章

PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换

本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下  #ifndef USE_H_       #define USE_H_       #include <iostream>       #include <windows.h>       #include <string>       using namespace std;       class CUser       {  

深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下. 1 #ifndef USE_H_ 2 #define USE_H_ 3 4 #include <iostream> 5 #include <windows.h> 6 #include <string> 7 using namespace std; 8 class CUser 9 { 10 public: 11 CUser(); 12

string和double之间的相互转换

很多人都写过这个标题的文章,但本文要解决的是确保负数的string和double也可以进行转换. 代码如下: string转double 1 double stringToDouble(string num) 2 { 3 bool minus = false; //标记是否是负数 4 string real = num; //real表示num的绝对值 5 if (num.at(0) == '-') 6 { 7 minus = true; 8 real = num.substr(1, num.s

C#中String 与Color之间的相互转换

其实,我们平常如果要在数据库存放Color类型值的话,肯定会在数据库中建立varchar类型.对吧.但是Color怎么存才合适呢,当然是要转为String了.这里小宋作个简介吧.其实用法很简单:      这个控件中,最后取得的当然是Color类型的值了.所在转为String只要用转换器就行.   String  color = System.Drawing.ColorTranslator.ToHtml(colorEdit1.Color); //将Color对象转为String对象.如#AABB

C# Enum Name String Description之间的相互转换

最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 1 public enum Weekday 2 { 3 [Description("星期一")] 4 Monday=1, 5 [Description("星期二")] 6 Tuesday=2, 7 [Description("星期三")] 8 Wednesday=3, 9 [Description("星期

关于InputStream 和String对象之间的相互转换

代码如下: package com.xin.stream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.nio.f

C#List&lt;string&gt;和string[]之间的相互转换

 一.LIST概述 所属命名空间:System.Collections.Generic      public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable List<T>类是 ArrayList 类的泛型等效类.该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口.  泛型的好处: 它为使

java Data、String、Long三种日期类型之间的相互转换

java Data.String.Long三种日期类型之间的相互转换 // date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型的时间 public static String dateToString(Date data, String formatType) { return new SimpleDateFormat(formatType).format(data

char * string nsstring 之间的相互转换

std::string转NSString std::string _string("hello"); NSString *str= [NSString stringWithCString:_string.c_str() encoding:[NSString defaultCStringEncoding]]; NSString转std::string NSString * nsfaceName[email protected]"HELLO"; const char *