package demo.read;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Date;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class ReadTxtTest
{
public static void main(String[] args)
{
int count = 0;
try
{
// 读取文本文件放入集合
BufferedReader br = new BufferedReader(
new FileReader("d:/test.txt"));
String str = br.readLine();
List<String> list = new ArrayList<String>();
// int lines = 0;
while (null != str)
{
// lines++;
list.add(str);
str = br.readLine();
// System.out.println(lines);
System.out.println(str);
}
// for(String st = br.readLine(); st != null; st = br.readLine())
// {
// lines++;
// list.add(br.readLine());
// System.out.println(lines);
// }
// 把集合转换为一维数组
/*
* for (int i = 0; i < vec.size(); i++) {
* System.out.println(vec.get(i)); data[i] = vec.get(i).toString(); }
* for (int i = 0; i < data.length; i++) {
* System.out.println(data[i]+" "); }
*/
String[] data = new String[list.size()];
data = list.toArray(data);
// 把一维数组转换为二维数组
String[][] dataTwo = new String[data.length][3];
for (int i = 0; i < data.length; i++)
{
for (int j = 0; j < 3; j++)
{
switch (j)
{
case 0:
dataTwo[i][j] = data[i].toString().substring(0, 5);
// System.out.println(dataTwo[i][j].toString());
break;
case 1:
dataTwo[i][j] = data[i].toString().substring(6, 16);
// System.out.println(dataTwo[i][j].toString());
break;
case 2:
dataTwo[i][j] = data[i].toString().substring(17, 25);
// System.out.println(dataTwo[i][j].toString());
break;
default:
break;
}
}
}
// 统计出勤天数,是否够40时/周,有无加班
for (int i = 0; i < dataTwo.length; i++)
{
// 先控制工号
if ("12924".equals(dataTwo[i][0]))
{
// 判断越界
if (i + 1 < dataTwo.length)
{
// 控制日期相等
if (dataTwo[i][0].equals(dataTwo[i + 1][0]))
{
// 控制打卡时间是否符合规范
// if()
// {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(i));
long timethis = calendar.getTimeInMillis();
calendar.set(2007, 7, 1);
long timeend = calendar.getTimeInMillis();
long theday = (timeend - timethis) / (1000 * 60 * 60 * 24);
System.out.print(theday);
count++;
// }
}
}
}
}
if (count % 2 == 0)
{
count = count / 2;
} else
{
count = count / 2 + 1;
}
System.out.println(count);
} catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
12924 2012-09-10 08:30:13 立人
12924 2012-09-10 18:30:22 立人
12924 2012-09-11 08:30:13 立人
12924 2012-09-11 18:30:21 立人
12924 2012-09-12 08:30:13 立人
12924 2012-09-12 20:30:21 立人
12304 2012-09-10 08:30:13 永春
12304 2012-09-10 18:30:21 永春
12304 2012-09-11 08:30:13 永春
12304 2012-09-11 18:30:21 永春
12304 2012-09-12 08:30:13 永春
12304 2012-09-12 20:30:21 永春
12260 2012-09-10 08:30:13 赫斯
12260 2012-09-10 18:30:21 赫斯
12948 2012-09-10 08:30:13 电科
12948 2012-09-10 18:30:21 电科
package demo.read;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class TestDemo
{
//读取文本文件
public String[] readTxt()
{
BufferedReader br=null;
String[] data = null;
try
{
br = new BufferedReader(new FileReader("d:/test.txt"));
String str = br.readLine();
List<String> list = new ArrayList<String>();
while (null !=str )
{
list.add(str);
str = br.readLine();
}
// 把集合转换为一维数组
data = new String[list.size()];
data = list.toArray(data);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
return data;
}
// 把一维数组转换为二维数组
public String[][] readString(String[] data)
{
String[][] dataTwo = new String[data.length][3];
for(int i=0;i<data.length;i++)
{
for(int j=0;j<3;j++)
{
switch(j)
{
case 0: dataTwo[i][j]=data[i].toString().substring(0,5);
break;
case 1: dataTwo[i][j]=data[i].toString().substring(6,16);
break;
case 2: dataTwo[i][j]=data[i].toString().substring(17,25);
break;
default: break;
}
}
}
return dataTwo;
}
//用工号统计出勤天数
public void date(String dataTwo[][])
{
for(int i=0;i<dataTwo.length;i++)
{
result(dataTwo,dataTwo[i][0]);
}
}
// 统计出勤天数,是否够40时/周,有无加班
public int result(String[][] dataTwo,String temp)
{ int count = 0;
for(int i=0;i<dataTwo.length;i++)
{
if (temp.equals(dataTwo[i][0]))
{
if(i+1<dataTwo.length)
{
if(dataTwo[i][0].equals(dataTwo[i+1][0]))
{
//控制打卡时间是否符合规范
// if()
// {
count++;
// }
}
}
}
}
if(count%2==0)
{
count=count/2;
}
else
{
count=count/2+1;
}
return count;
}
}