我有以下代码:
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());
}
我的文件文字是
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
我尝试删除所有空格但仍保持不变。我不太关心我的screeen上的样子。但我需要数字543和555没有空格,所以我可以将它们从字符串转换为int。有人在阅读之后是否有任何提示如何使其清洁?
答案 0 :(得分:-1)
这种情况正在发生,因为您的文件包含大小为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());
}