gpt4 book ai didi

Java中读取文件转换为字符串的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java中读取文件转换为字符串的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

方式一 。

/** 。

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

当然也是可以读字符串的.

*/ 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* 貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/
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"); 
  }
}

方式二 。

// 有人说了 filereader 读字符串更好,那么就用filereader吧 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 每次读一个是不是效率有点低了?
private static string readstring2()
{
  stringbuffer str= new stringbuffer( "" );
  file file= new file(file_in);
  try {
   filereader fr= new filereader(file);
   int ch = 0 ;
   while ((ch = fr.read())!=- 1 )
   {
    system.out.print(( char )ch+ " " );
   }
   fr.close();
  } catch (ioexception e) {
   // todo auto-generated catch block
   e.printstacktrace();
   system.out.println( "file reader出错" );
  }
  return str.tostring();
}

方式三 。

/按字节读取字符串/ 。

/* 个人感觉最好的方式,(一次读完)读字节就读字节吧,读完转码一次不就好了*/ 。

private static string readstring3() 。

{ 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
string str= "" ;
file file= new file(file_in);
try {
  fileinputstream in= new fileinputstream(file);
  // size 为字串的长度 ,这里一次性读完
  int size=in.available();
  byte [] buffer= new byte [size];
  in.read(buffer);
  in.close();
  str= new string(buffer, "gb2312" );
} catch (ioexception e) {
  // todo auto-generated catch block
  return null ;
  e.printstacktrace();
}
return str;

} 。

方式四 。

/inputstreamreader+bufferedreader读取字符串 , inputstreamreader类是从字节流到字符流的桥梁/ 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* 按行读对于要处理的格式化数据是一种读取的好方式 */
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();
}

路要一步一步走,记住自己走过的路,不再犯同样的错误,才是真正的成长!欢迎指点、交流.

以上这篇java中读取文件转换为字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/stimgo/article/details/52856570 。

最后此篇关于Java中读取文件转换为字符串的方法的文章就讲到这里了,如果你想了解更多关于Java中读取文件转换为字符串的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com