package com.ostrichmyself.api.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
/**
* 普通的文本文件读取与写入操作
* 注意,面向字符的, 用Reader/Writer, 面向字节的, InputStream/OutputStream
* 面向字符会产生乱码问题, 此时需要采用 InputStreamReader去改写字符
* 为了不造成问题的复杂, 这里不做研究, 采用系统默认编码[GB2312], 仅仅写了一个处理乱码的函数
* getStringFromFile(String filePath, String code)
* @author Galaxy Team
*
*/
public class FileProcesser {
/**
* 文件保存为String
* 读取的是字符, 不是字节
* 采用默认编码
* @param filePath
* @return
*/
public static String getStringFromFile(String filePath)
{
try {
StringBuffer sBuffer = new StringBuffer();
BufferedReader in = new BufferedReader(new FileReader(filePath));
if(!new File(filePath).exists())
{
return null;
}
while (in.ready()) {
sBuffer.append(in.readLine() + "\r\n");
}
in.close();
return sBuffer.toString();
} catch (Exception e)
{
System.out.println("不存在制定的文件" + filePath);
}
return null;
}
/**
* 文件保存为String
* 读取的是字符, 不是字节
* code 的取值不区分大小写
* GBK, GB2312, UTF8/UTF-8, UTF-16/UTF16, utf-16be等
* @param filePath
* @param code 编码方式
* @return
*/
public static String getStringFromFile(String filePath, String code)
{
try {
StringBuffer sBuffer = new StringBuffer();
FileInputStream fInputStream = new FileInputStream(filePath);
InputStreamReader inputStreamReader = new InputStreamReader(fInputStream, code);
BufferedReader in = new BufferedReader(inputStreamReader);
if(!new File(filePath).exists())
{
return null;
}
while (in.ready()) {
sBuffer.append(in.readLine() + "\r\n");
}
in.close();
return sBuffer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 从文件中取二进制字节数组
* @param filePath
* @return
*/
public static byte[] getByteFromFile(String filePath)
{
FileInputStream fileInputStream = null;
byte[] data = null;
BufferedInputStream bf = null;
try {
fileInputStream = new FileInputStream(filePath);
bf = new BufferedInputStream(fileInputStream);
data = new byte[bf.available()];
bf.read(data);
return data;
}
catch(Exception e)
{
e.printStackTrace();
}
finally {
try {
fileInputStream.close();
bf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* 保存文本文件
* 写入的是字符, 不是字节
* @param filePath
* @param content
*/
public static void setStringContentToFile(String filePath, String content)
{
try {
File file = new File(filePath);
file.createNewFile();
FileOutputStream fo = new FileOutputStream(filePath);
PrintWriter pw = new PrintWriter(new File(filePath));
pw.write(content);
fo.close();
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param filePath
* @param content
*/
public static void setBytesContentToFile(String filePath, byte[] content)
{
FileOutputStream fileOutputStream = null;
BufferedOutputStream bf = null;
try {
File file = new File(filePath);
file.createNewFile();
fileOutputStream = new FileOutputStream(filePath);
bf = new BufferedOutputStream(fileOutputStream);
fileOutputStream.write(content);
}
catch(Exception e)
{
e.printStackTrace();
}
finally {
try {
fileOutputStream.close();
bf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
//res/IniFileProcessor.java采用的是UTF-8
System.out.println(getStringFromFile("res/IniFileProcessor.java").trim());
System.out.println(getStringFromFile("res/IniFileProcessor.java", "UTF-8").trim());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
andorid_在线词典源码.rar
共42个文件
class:18个
java:11个
xml:4个
需积分: 5 0 下载量 17 浏览量
2024-03-22
10:14:48
上传
评论
收藏 153KB RAR 举报
温馨提示
andorid_在线词典源码.rar
资源推荐
资源详情
资源评论
收起资源包目录
andorid_在线词典源码.rar (42个子文件)
在线词典源码
Dictionary
Dictionary
Temple.xml 611B
.classpath 280B
assets
src
app
dict
net
DictRemoteConnection.java 473B
DictXMLParser.java 60B
common
connection
net
IRemoteConnection.java 236B
HTTPContentUtil.java 1KB
xmlParser
net
Example.java 768B
BaseParser.java 2KB
AndroidXMLParser.java 2KB
com
ostrichmyself
api
util
URLProcesser.java 1KB
FileProcesser.java 4KB
dict
Dictionary.java 4KB
res
values
strings.xml 341B
layout
main.xml 2KB
drawable
icon.PNG 5KB
bin
resources.ap_ 8KB
app
dict
net
DictXMLParser.class 290B
DictRemoteConnection.class 945B
common
connection
net
IRemoteConnection.class 205B
HTTPContentUtil.class 2KB
xmlParser
net
Example.class 911B
AndroidXMLParser.class 3KB
BaseParser.class 3KB
classes.dex 15KB
Dictionary.apk 17KB
com
ostrichmyself
api
util
FileProcesser.class 4KB
URLProcesser.class 2KB
dict
Dictionary.class 5KB
Dictionary$TheKeyListener.class 1KB
Dictionary$SearchButtonAction.class 721B
R$string.class 495B
R$layout.class 364B
R$id.class 515B
R$attr.class 310B
R$drawable.class 370B
R.class 461B
default.properties 364B
.project 846B
AndroidManifest.xml 738B
gen
com
dict
R.java 1KB
Dictionary.rar 62KB
说明.rar 26KB
共 42 条
- 1
资源评论
saltedfish404
- 粉丝: 823
- 资源: 385
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功