读取一个txt文件,文件中有一个8位的日期(任意),读出日期并打印此从日期开始的一个月日历,最好能有详细代码和注释
6条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
最佳回答 专家已采纳参考代码如下:
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateCalendar { public static void main(String[] args) { printLatestMonth("src/date.txt"); } public static void printLatestMonth(String filePath){ String fileContent = readFromFile(filePath,null); if(fileContent==null||fileContent.length()<8){ System.out.println("日期格式不正确,请保证日期格式为yyyyMMdd"); return; } DateFormat format = new SimpleDateFormat("yyyyMMdd"); Calendar calendar = Calendar.getInstance(); try { Date currentDate = format.parse(fileContent); calendar.setTime(currentDate); System.out.println("crurent date is:"+currentDate); for(int i = 0;i<30;i++){ calendar.add(Calendar.DATE, 1); System.out.println(calendar.getTime()); } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static String readFromFile(String fileName,String charSet){ if (fileName == null || "".equals(fileName)) { System.out.println("文件名称为空..."); return ""; } // 设置字符编码 if(charSet==null||charSet.length()==0){ charSet = "UTF-8"; } File file = new File(fileName); FileInputStream fin = null; StringBuffer buffer = new StringBuffer(); try { fin = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader( fin, charSet)); String content = reader.readLine(); while (content != null) { buffer.append(content); // 循环读取下一行,没有这行代码就是死循环的啦。。。 content = reader.readLine(); } reader.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fin != null) { try { fin.close(); } catch (IOException e) { e.printStackTrace(); } } } return buffer.toString(); } }
src目录下文件格式:20160310
采纳该答案 已采纳该答案 专家已采纳评论解决 无用 1打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(5条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2016-03-10 01:29回答 6 已采纳 参考代码如下: ``` import java.io.BufferedReader; import java.io.File; import java.io.FileInputStrea
- 2021-07-19 20:33回答 1 已采纳 package test; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.V
- 2018-01-02 08:52回答 8 已采纳 百度 一搜,一大把。 https://www.2cto.com/kf/201707/661016.html
- 2021-06-13 10:43回答 3 已采纳 缺少程序入口。添加main方法。 public static void main(String[] args){}
- 2022-04-13 23:49回答 2 已采纳 import java.util.Arrays; import java.util.Locale; import java.util.Scanner; abstract class Questi
- 2017-09-14 06:40回答 1 已采纳 http://blog.csdn.net/zy841958835/article/details/77979786
- 2019-10-07 12:43回答 2 已采纳 404说明服务或者接口不存在,确认下java服务是否正常发布,上下文是不是denglu?
- 2022-04-13 23:06回答 3 已采纳 看了一下逻辑上问题不大,但是后边变量弄错了,我图里标了一下,如果改了还不行的话你贴一下代码吧,看图片太累了
- 2021-12-31 16:57回答 2 已采纳 小程序授权并调用登录成功后,后台生成一个Token(UUID,JWT)每次请求前端都需要带上TokenToken保存在Redis并记录小程序会话密钥与当前用户ID请求进入时按照以下流程:检查是否存在T
- 2021-09-25 16:11回答 4 已采纳 import java.util.Scanner; public class InputCode { public static void main(String[] args) {
- 没有解决我的问题, 去提问