我在网上上 Java 课,正在为一项作业苦苦挣扎,我不知道该怎么做,我的教学特别问我们:
“创建一个名为 dteDate 的 GregorianCalendar 对象。对于年、月、日、小时、分钟和秒,从使用 parseInt() 将文件转换为单独的整数变量。然后创建您的 GregorianCalendar 对象。最后,使用 SimpleDateFormat 创建一个名为 strDate 的字符串,其中包含“2013 年 4 月 28 日 12:41”。换句话说,我希望您了解如何从文件中提取一系列字符串,将它们转换为整数,创建一个 GregorianCalendar 对象,然后将其转换回格式化字符串。当然不是最有效的方法,但它会测试你创建日期变量的能力。
我不知道如何从文本文件中提取特定行,以及如何提取整个内容,并且希望我的程序看起来像这样的指导。
import java.io.*;
import java.nio.file.*;
import java.util.GregorianCalendar;
public class a19010
{
public static void main(String[] args)
{
Path objPath = Paths.get("dirsize.txt");
if (Files.exists(objPath))
{
File objFile = objPath.toFile();
try(BufferedReader in = new BufferedReader(
new FileReader(objFile)))
{
String line = in.readLine();
while(line != null)
{
System.out.println(line);
line = in.readLine();
}
}
catch (IOException e)
{
System.out.println(e);
}
}
else
{
System.out.println(
objPath.toAbsolutePath() + " doesn't exists");
}
GregorianCalendar dteDate = new GregorianCalendar();
}
}
这会将整个文本文件打印到控制台,这是 assinment 的第一步,然后我创建了 GregorianCalendar dteDate。我不确定如何提取我需要为我的日历提供相关信息的行,以及在这个程序的这一点上做什么。我不想在这篇文章中说太多话,让我的问题更难回答,所以我会从文本文件中发布相关行,如果我需要在我的问题中添加更多信息或取出一些信息或澄清让我知道我会编辑它。文本文件中带有日期和时间的行是其中的前4行,如下所示:(放入类似的代码以使其清楚)
The current date is: Thu 03/28/2013
Enter the new date: (mm-dd-yy)
The current time is: 12:41:26.31
Enter the new time:
如果有人知道该怎么做,或者甚至可以为我指明正确的方向,我将不胜感激。
这是我在 Bhushan Bhangale 的帮助下获得的代码,但我无法导入我的日历。
String line = in.readLine();
int lineNum = 1;
//extract the month
String monthSubstring = line.substring(25,27);
int month = Integer.parseInt(monthSubstring) -1 ;
//extact the year
String yearSubstring = line.substring(31,35);
int year = (Integer.parseInt(yearSubstring));
//extract the date
String daySubstring = line.substring(28,30);
int day = Integer.parseInt(daySubstring);
while(line != null)
{
System.out.println(line);
line = in.readLine();
lineNum ++;
if (lineNum == 3)
{
//extract the hour
String hourSubstring = line.substring(21,23);
int hour = Integer.parseInt(hourSubstring);
//extract the minute
String minuteSubstring = line.substring(24,26);
int minute = Integer.parseInt(minuteSubstring);
//extract the second
String secondSubstring = line.substring(27,29);
int second= Integer.parseInt(secondSubstring);
}
}
GregorianCalendar dteDate = new GregorianCalendar(year, month, day, hour, minute, second);
System.out.println(dteDate.getTime());
问题是日历看不到小时分钟或秒,我不知道如何让它导入它们