String –> InputStream
InputStrem is = new ByteArrayInputStream(str.getBytes());
ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
InputStream–>String
inputStream input;
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = input.read(b)) != -1;) {
out.append(new String(b, 0, n));
}
out.toString();
or
InputStream in ;
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(in));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
StringBuffer sb = new StringBuffer();
String tmp;
try {
while ((tmp = br.readLine()) != null) {
sb.append(tmp + "\n");
}
br.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
Reader –>String
BufferedReader in = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line = " ";
while ((line = in.readLine()) != null){
buffer.append(line);
}
return buffer.toString();
String–>Reader
Reader reader = null;
BufferedReader r = new BufferedReader(reader);
StringBuilder b = new StringBuilder();
String line;
while((line=r.readLine())!=null) {
b.append(line);
b.append(“\r\n”);
}
b.toString();
FileUtils
View Code
public class FileUtils {
private String SDPATH;
private int FILESIZE = 4 * 1024;
public String getSDPATH() {
return SDPATH;
}
public FileUtils() {
// 得到当前外部存储设备的目录( /SDCARD )
SDPATH = Environment.getExternalStorageDirectory() + "/";
}
/**
* 在SD卡上创建文件
*
* @param fileName
* @return
* @throws IOException
*/
public File createSDFile(String fileName) throws IOException {
File file = new File(SDPATH + fileName);
file.createNewFile();
return file;
}
/**
* 在SD卡上创建目录
*
* @param dirName
* @return
*/
public File createSDDir(String dirName) {
File dir = new File(SDPATH + dirName);
dir.mkdir();
return dir;
}
/**
* 判断SD卡上的文件夹是否存在
*
* @param fileName
* @return
*/
public boolean isFileExist(String fileName) {
File file = new File(SDPATH + fileName);
return file.exists();
}
/**
* 将一个InputStream里面的数据写入到SD卡中
*
* @param path
* @param fileName
* @param input
* @return
*/
public File write2SDFromInput(String path, String fileName,
InputStream input) {
File file = null;
OutputStream output = null;
try {
createSDDir(path);
file = createSDFile(path + fileName);
output = new FileOutputStream(file);
byte[] buffer = new byte[FILESIZE];
while ((input.read(buffer)) != -1) {
output.write(buffer);
}
output.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
/**
* 在sd卡中读出文本文件 返回String * strFullPath 读取文件的完整路径
*/
public String ReadSDFiled(String strFullPath) {
File file = new File(SDPATH + strFullPath);
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
} catch (FileNotFoundException e3) {
e3.printStackTrace();
}
BufferedReader br = null;
try {
/* 转换编码 */
br = new BufferedReader(new InputStreamReader(in, "gb2312"));
/* 不转换编码 */
// br = new BufferedReader(new InputStreamReader(in));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
StringBuffer sb = new StringBuffer();
String tmp;
try {
while ((tmp = br.readLine()) != null) {
sb.append(tmp + "\n");
}
br.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
}