java中怎样将文件的内容读取成字符串

 我来答
电商运营的机会
2017-06-09 · 知道合伙人互联网行家
电商运营的机会
知道合伙人互联网行家
采纳数:436 获赞数:998
潭州教育网络科技有限公司最佳电商运营总监。

向TA提问 私信TA
展开全部

java中有四种将文件的内容读取成字符串

方式一:

Java code

/**

* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

* 当然也是可以读字符串的。

*/

/* 貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/

public String readString1()

{

try

{

//FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。 

FileInputStream inStream=this.openFileInput(FILE_NAME);

ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] buffer=new byte[1024];

int length=-1;

while( (length = inStream.read(buffer) != -1)

{

bos.write(buffer,0,length);

// .write方法 SDK 的解释是 Writes count bytes from the byte array buffer starting at offset index to this stream.

//  当流关闭以后内容依然存在

}

bos.close();

inStream.close();

return bos.toString();   

// 为什么不一次性把buffer得大小取出来呢?为什么还要写入到bos中呢? return new(buffer,"UTF-8") 不更好么?

// return new String(bos.toByteArray(),"UTF-8");       

}

}

方式二:

Java code

方式三:

Java code

方式四:

Java code

/*InputStreamReader+BufferedReader读取字符串  , InputStreamReader类是从字节流到字符流的桥梁*/

/* 按行读对于要处理的格式化数据是一种读取的好方式 */

private static String readString4()

{

int len=0;

StringBuffer str=new StringBuffer("");

File file=new File(FILE_IN);

try {

FileInputStream is=new FileInputStream(file);

InputStreamReader isr= new InputStreamReader(is);

BufferedReader in= new BufferedReader(isr);

String line=null;

while( (line=in.readLine())!=null )

{

if(len != 0)  // 处理换行符的问题

{

str.append("\r\n"+line);

}

else

{

str.append(line);

}

len++;

}

in.close();

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return str.toString();

}

辉煌灬仔
2017-03-09 · 超过89用户采纳过TA的回答
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:109万
展开全部
  String FileName="d:/2.txt";
        File myFile=new File(FileName);
        if(!myFile.exists())
        { 
            System.err.println("Can't Find " + FileName);
        }

        try 
        {
            BufferedReader in = new BufferedReader(new FileReader(myFile));
            String str;
            while ((str = in.readLine()) != null) 
            {
                  System.out.println(str);
            }
            in.close();
        } 
        catch (IOException e) 
        {
            e.getStackTrace();
        }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式