java 读取文件时间格式_在JSP中读文件及时间字符串转日期格式中踩的坑

1、按行读取文件内容时,中文乱码问题:

①出错的代码:

FileReader fr = new FileReader(linefile);  //字符输入流

BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并具有缓冲功能

②出错原因:

直接使用FileReader读取一个包含中文字符的文件,将字符输入流放到BufferedReader中,通过BufferedReader读取出来的中文字符串乱码. 文件流读取时使用的编码方式和文件本身编码方式不同,造成读取出来文件乱码.

③解决办法:

读取文件时指定读取文件的编码方式. 使用FileInputStream类读取文件流,BufferedReader构造方法只能接收字符流,利用InputStreamReader将字节流转化为字符流,同时指定文件流的编码方式,将字符流放到 BufferedReader中,进行操作,中文读取乱码问题解决.

④修改后的代码:

InputStreamReader isr = new InputStreamReader(new FileInputStream(linefile), "UTF-8");

BufferedReader br = new BufferedReader(isr);  //使文件可按行读取并具有缓冲功能

2、数据库datetime格式出错一直存不进去

①一开始以为是要转换成日期格式做了以下尝试,遇到的问题:

Type mismatch: cannot convert from java.util.Date to java.sql.Date

文档中同时引用了java.util.*和java.sql.*的头文件。而这两个文件中都包含了Date;

SimpleDateFormatsdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date date = sdf.parse(需要转的字符串);

java.sql.Date dateTime = new java.sql.Date(date.getTime());

②发现改了格式之后,发现sql语句依旧无法执行:

出现Unparseable date: "2020‐01‐07 16:24:47"的错误

解析不了此格式:把这个字符串复制到别的文档下查看,发现是‘-’和'‐'的问题

③一般来说可以直接存成String格式的:pstmt.setString(2,"2020-01-07 16:24:47");

也可以用pstmt.setDate方法,这里存的Date格式是java.sql.Date

3、以下代码无法执行:提示找不到msg

window.alert("");

window.document.location.href="index.jsp";

解决方法:在文件开头就定义(具体原因没有探究,可能是全局和局部变量原因)

String msg = "添加失败,单击确定跳转图书列表页!";

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值