BufferedReader.readLine()读取文件第一行会出现bug,首行第一个字符会是一个空字符
BufferedReader.readLine()读取第一行会出现bug,首行第一个字符会是一个空字符
BufferedReader is =new BufferedReader(new InputStreamReader(new ileInputStream(file)));
String str =is.readLine()
char c = str.charAt(0);
这时你会发现并不是你文件第一行的首个字符,而是一个空字符(不是空字符串),但读取第二行就不会出现这问题。
解决方法:就是把第一行的第一个字符去掉。
package userImpl;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;import entity.User;
import userDAO.useDAO;public class UseDAOImpl implements useDAO {List<User> list = new ArrayList<User>();//list.add,,,@Overridepublic List<User> queryUser() throws Exception {File file = new File("E:imformation.txt");String user = "";String psw = "";InputStreamReader reader;reader = new InputStreamReader(new FileInputStream(file));BufferedReader br = new BufferedReader(reader);// user = br.readLine();
// psw = br.readLine();
//
// User u = new User(User.generateId(), user, psw);
//
//
// // while(true)
// {
// user = br.readLine();
// psw = br.readLine();
// if(user != null)
// {
// User u = new User(User.generateId(), user, psw);
// list.add(u);
// }
// else
// {
// reader.close();
// break;
// }
// }while(true){user = br.readLine();psw = br.readLine();if(user == null){//br.close();//reader.close();break;}else{if(list.size()==0){user = user.substring(1, user.length());}System.out.println("DAO里的长度"+user.length());//System.out.println(user.substring(1, user.length()));//System.out.println("DAO里的长度"+user.substring(1, user.length()).length());System.out.println("DAO里的长度"+psw.length());System.out.println("输出每个字符");for(int i=0;i<user.length();i++){System.out.println(user.charAt(i));}User u = new User(User.generateId(), user, psw);list.add(u);}}return list;}@Overridepublic List<User> addUser(User user) throws Exception {list.add(user);//先在容器中加,再打开文件,将对象读到文件中// ../../WebContent/WEB-INF/imformation.txtFile file = new File("E:imformation.txt");PrintStream ps;ps = new PrintStream(new FileOutputStream(file));for (User user2 : list) {ps.println(user2.getName());ps.println(user2.getPassword());}//int i = 0;int size=list.size();System.out.println("USEDAOImplint size=list.size();"+size);ps.close();return list;}
}
BufferedReader.readLine()读取文件第一行会出现bug,首行第一个字符会是一个空字符相关推荐
- CFileDialog、CStdioFile读取文件中的内容,每行按空格依次读入
CFileDialog.CStdioFile读取文件中的内容,每行按空格依次读入 注: 1.该文件为固定为3列的小数txt文件,且数字之间以空格隔开 2.CFileDialog 与 CStdioFil ...
- java多线程按行读取文件_“java”中多线程按行读取txt且每个线程读的内容不能重复,这么求“demo”?...
展开全部 你把原来程序中直接读的地62616964757a686964616fe4b893e5b19e31333365646234方,改成调用上面的函数,由该函数统一读行.这样,不管是你有 N 个线程 ...
- python按行读取文件效率高吗_Python按行读取文件的实现方法【小文件和大文件读取】...
本文实例讲述了Python按行读取文件的实现方法.分享给大家供大家参考,具体如下: 小文件: #coding=utf-8 #author: walker #date: 2013-12-30 #func ...
- python从第二行开始读取文件_python学习笔记—— 从第二行开始读文件
原博文 2018-04-16 16:26 − filename = info.txtf = open('info.txt') next(f) for line in f: print(line)nex ...
- U盘读取文件时发现损坏,命令行修复
这是我今天准备清理u盘的时候发现u盘好多文件出现这种损毁,后来知道是之前亲戚家小孩在我穿文件的时候插拔u盘了,emmm在网上查找了一下方法大部分都是推荐用系统的自己的u盘修复 修复步骤 1.win+r ...
- java 读取文件第一行代码,java文件读取。(单字节读取和按行读取读取)
评论 # re: java文件读取.(单字节读取和按行读取读取) 2008-10-06 15:16 隔叶黄莺 再简单也比不过 groovy 的这一行代码 text = new File("f ...
- 用Java读取文件的5种方法-BufferedReader,FileInputStream,文件,扫描仪,RandomAccessFile
There are many different ways to read a file in Java. In this tutorial, we will look into 5 differen ...
- java之的读取文件大全
2019独角兽企业重金招聘Python工程师标准>>> java之的读取文件大全 使用java进行文件读写,因为使用的频率不高,加上写起来也没那么简单,经常容易忘记,然后就得去翻阅以 ...
- [Java]读取文件方法大全
1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 publicclassReadFromFile { /** * 以字节为单位读取文件,常用 ...
最新文章
- Tablayout 多个界面使用一个fragment 的实例
- 《数据分析实战:基于EXCEL和SPSS系列工具的实践》——3.3 耗时耗力的数据整理过程...
- Git005--工作区和暂存区
- 在Visual Studio 2010/2012中 找不到创建WebService的项目模板
- fusionsphere读音_hydroxyapatite
- Spring MVC+Mybatis 多数据源配置
- 毒霸网络版集成反间谍功能
- ajax长连接的具体实现,ajax实现服务器与浏览器长连接的功能
- SPSS问卷中的人口学变量是否要用?以及如何选用?【SPSS 065期】
- HTML设为首页/加入收藏代码
- RStudio 使用ARM版Ruby mac M1 编译安装适用及x86Ruby安装使用 安装ARM版homebrew
- Mob研究院 · BAT数据洞察报告
- 知识图谱-实体消歧(语义消歧)
- 以太坊生态缺陷导致的一起亿级代币盗窃大案
- 王叔叔用计算机,最潮养老 | 不服老的他比年轻人还惬意、还潮!
- space-around 和 space-evenly 的区别
- 容器服务ACK+容器网络文件系统CNFS快速搭建NGINX网站(体验有礼)
- RFC2616中文版
- vue项目权限:数据权限、菜单权限、按钮权限
- 基于tiny4412的Linux内核移植 -- 设备树的展开【转】
热门文章
- 用Python爬取英雄联盟所有皮肤~隔壁小孩羡慕的哭了
- JavaScript延迟执行 setTimeout()
- 软件在其他电脑运行出错:异常终止 问题事件名称CLR20r3
- c语言中命令行参数argc,argv[]详解
- 编程小石头点餐小程序_点餐小程序,点餐系统,管理后台批量导入excel菜品数据...
- java实现微信支付宝等多个支付平台合一的二维码支付(SSM框架)
- 存储卡插入电脑提示磁盘有写保护怎么办
- 热烈祝贺黄手艺冒菜景德镇市珠山区陶阳南路东
- python如何完成列表的排序_Python要如何实现列表排序的几种方法
- 第三届“先导杯”开赛,欢迎参与