我有以下代码:
StringBuilder builder = new StringBuilder();
String fichier = "achats.txt";
try{
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne=br.readLine())!=null){
builder.append(ligne);
}
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
我的文件文本achats是
Jean Boucher, 32134564, 543, 54
Gilles Boucher, 32145425, 555, 21
我有以下问题:在我从文件中读取它后,它看起来像这样:
J e a n B o u c h e r , 3 2 1 3 4 5 6 4, 5 4 3 , 5 4
我尝试删除所有空白,但仍然保持不变。我真的不在乎它在我的屏幕上是什么样子。但我需要不带空格的数字 543 和 555,这样我就可以将它们从字符串转换为整数。有人有任何提示如何在阅读后使其干净吗?
最佳答案
发生这种情况是因为您的文件包含大小为 1 字节的数据,但读取器类用于读取字符而不是字节,并且从文件中读取的每个字符使用 2 个字节。您必须使用 InputStream 类而不是 InputReader 类。
StringBuilder builder=new StringBuilder();
String fichier="achats.txt";
byte [] ar = new byte[1];
try{
InputStream ips=new FileInputStream(fichier);
BufferedInputStream br=new BufferedInputStream(ipsr);
ar[0] = -1;
while((ar[0] = br.read()) != -1){
builder.append(new String(ar[0]));
}
ips.close();
br.close();
}
catch (Exception e){
System.out.println(e.toString());
}
关于java - bufferewd 读取器间距字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624455/