public class ReadWriteFormat
{
public static void main(String[] args)
{
Vector v = new Vector();
v = readFile("E:\\TEMP\\temp.txt");
for (int i = 0; i < v.size(); i++)
{
Record_Struct rStruct = (Record_Struct) v.get(i);
System.out.println(rStruct.getColumn_1());
System.out.println(rStruct.getColumn_2());
System.out.println(rStruct.getColumn_3());
System.out.println(rStruct.getColumn_4());
}
} private boolean processData(Vector vector, Connection connection)
{
if (vector == null || vector.size() ==0) return false; boolean rtnValue = false;
Record_Struct rStruct = new Record_Struct();
PreparedStatement stmt = null; try
{
stmt = connection.prepareStatement("SQL_CLAUSE");
for (int i = 0; i < vector.size(); i++)
{
rtnValue = true;
rStruct = (Record_Struct) vector.get(i);
System.out.println(rStruct.getColumn_2());
stmt.setString(1, rStruct.getColumn_2());
stmt.setString(2, rStruct.getColumn_3());
if (stmt.executeUpdate() <= 0)
{
rtnValue = false;
System.out.println("Error occurs @line: ".concat("" + i).concat("!"));
break;
}
}
}
catch (SQLException e)
{
e.printStackTrace();
rtnValue = false;
}
finally
{
try
{
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (connection != null)
{
connection.close();
connection = null;
}
}
catch (SQLException e)
{
}
finally
{
return rtnValue;
}
}
} public static String trim(String string)
{
String rtnValue = string; while (rtnValue.indexOf(' ') == 0)
{
rtnValue = rtnValue.substring(1);
} while (rtnValue.indexOf(' ', rtnValue.length() - 1) == rtnValue.length() - 1)
{
rtnValue = rtnValue.substring(0, rtnValue.length() - 2);
} return rtnValue;
} public static Vector readFile(String fileName)
{
Record_Struct rStruct = new Record_Struct();
Vector vStruct = new Vector();
File targetFile = null;
BufferedReader br = null;
RandomAccessFile dataFile = null;
String s = String.valueOf("");
char[] c = new char[1];
int rowLocalizer = 0;
int rowReal = 0;
int columnLocalizer = 0; try
{
targetFile = new File(fileName);
dataFile = new RandomAccessFile(targetFile, "r");
br = new BufferedReader(new InputStreamReader(new
FileInputStream(dataFile.getFD()))); /**
* System.out.println(saleFileContent);
* StringReader reader = new StringReader(saleFileContent);
* br = new BufferedReader(reader);
*/ while (br.read(c) != -1)
{
if (c[0] == FIELD_SEPARATE)
{
switch (columnLocalizer)
{
case 0:
rStruct.setColumn_1(trim(s));
break;
case 1:
rStruct.setColumn_2(trim(s));
break;
case 2:
rStruct.setColumn_3(trim(s));
break;
case 3:
rStruct.setColumn_4(trim(s));
break;
default:
break;
}
columnLocalizer++;
s = String.valueOf("");
}
else if (c[0] == '\r')
{
String temp = "" + c[0];
if (br.read(c) != -1)
{
temp += c[0];
if (temp.equalsIgnoreCase(RECORD_SEPARATE))
{
if (rStruct.getColumn_1() != ""
&& rStruct.getColumn_2() != ""
&& rStruct.getColumn_3() != ""
&& rStruct.getColumn_4() != "")
{
vStruct.add(rStruct);
rStruct = new Record_Struct();
columnLocalizer = 0;
rowLocalizer++;
rowReal++;
}
else if (rStruct.getColumn_1() == ""
&& rStruct.getColumn_2() == ""
&& rStruct.getColumn_3() == ""
&& rStruct.getColumn_4() == "")
{
System.out.println("BLANK LINE");
rStruct = new Record_Struct();
rowReal++;
columnLocalizer = 0;
}
else
{
System.out.println("READ RECORD ERROR @Line: " + rowReal);
rStruct = new Record_Struct();
columnLocalizer = 0;
vStruct = null;
break;
}
}
}
}
else if (c[0] == '\n')
{
System.out.println("-n");
}
else
{
s += c[0];
}
}
System.out.println(rowLocalizer);
}
catch (IOException e)
{
e.printStackTrace();
vStruct = null;
}
finally
{
return vStruct;
}
} private static final char FIELD_SEPARATE = ';';
private static final String RECORD_SEPARATE = "\r\n";
}
{
public static void main(String[] args)
{
Vector v = new Vector();
v = readFile("E:\\TEMP\\temp.txt");
for (int i = 0; i < v.size(); i++)
{
Record_Struct rStruct = (Record_Struct) v.get(i);
System.out.println(rStruct.getColumn_1());
System.out.println(rStruct.getColumn_2());
System.out.println(rStruct.getColumn_3());
System.out.println(rStruct.getColumn_4());
}
} private boolean processData(Vector vector, Connection connection)
{
if (vector == null || vector.size() ==0) return false; boolean rtnValue = false;
Record_Struct rStruct = new Record_Struct();
PreparedStatement stmt = null; try
{
stmt = connection.prepareStatement("SQL_CLAUSE");
for (int i = 0; i < vector.size(); i++)
{
rtnValue = true;
rStruct = (Record_Struct) vector.get(i);
System.out.println(rStruct.getColumn_2());
stmt.setString(1, rStruct.getColumn_2());
stmt.setString(2, rStruct.getColumn_3());
if (stmt.executeUpdate() <= 0)
{
rtnValue = false;
System.out.println("Error occurs @line: ".concat("" + i).concat("!"));
break;
}
}
}
catch (SQLException e)
{
e.printStackTrace();
rtnValue = false;
}
finally
{
try
{
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (connection != null)
{
connection.close();
connection = null;
}
}
catch (SQLException e)
{
}
finally
{
return rtnValue;
}
}
} public static String trim(String string)
{
String rtnValue = string; while (rtnValue.indexOf(' ') == 0)
{
rtnValue = rtnValue.substring(1);
} while (rtnValue.indexOf(' ', rtnValue.length() - 1) == rtnValue.length() - 1)
{
rtnValue = rtnValue.substring(0, rtnValue.length() - 2);
} return rtnValue;
} public static Vector readFile(String fileName)
{
Record_Struct rStruct = new Record_Struct();
Vector vStruct = new Vector();
File targetFile = null;
BufferedReader br = null;
RandomAccessFile dataFile = null;
String s = String.valueOf("");
char[] c = new char[1];
int rowLocalizer = 0;
int rowReal = 0;
int columnLocalizer = 0; try
{
targetFile = new File(fileName);
dataFile = new RandomAccessFile(targetFile, "r");
br = new BufferedReader(new InputStreamReader(new
FileInputStream(dataFile.getFD()))); /**
* System.out.println(saleFileContent);
* StringReader reader = new StringReader(saleFileContent);
* br = new BufferedReader(reader);
*/ while (br.read(c) != -1)
{
if (c[0] == FIELD_SEPARATE)
{
switch (columnLocalizer)
{
case 0:
rStruct.setColumn_1(trim(s));
break;
case 1:
rStruct.setColumn_2(trim(s));
break;
case 2:
rStruct.setColumn_3(trim(s));
break;
case 3:
rStruct.setColumn_4(trim(s));
break;
default:
break;
}
columnLocalizer++;
s = String.valueOf("");
}
else if (c[0] == '\r')
{
String temp = "" + c[0];
if (br.read(c) != -1)
{
temp += c[0];
if (temp.equalsIgnoreCase(RECORD_SEPARATE))
{
if (rStruct.getColumn_1() != ""
&& rStruct.getColumn_2() != ""
&& rStruct.getColumn_3() != ""
&& rStruct.getColumn_4() != "")
{
vStruct.add(rStruct);
rStruct = new Record_Struct();
columnLocalizer = 0;
rowLocalizer++;
rowReal++;
}
else if (rStruct.getColumn_1() == ""
&& rStruct.getColumn_2() == ""
&& rStruct.getColumn_3() == ""
&& rStruct.getColumn_4() == "")
{
System.out.println("BLANK LINE");
rStruct = new Record_Struct();
rowReal++;
columnLocalizer = 0;
}
else
{
System.out.println("READ RECORD ERROR @Line: " + rowReal);
rStruct = new Record_Struct();
columnLocalizer = 0;
vStruct = null;
break;
}
}
}
}
else if (c[0] == '\n')
{
System.out.println("-n");
}
else
{
s += c[0];
}
}
System.out.println(rowLocalizer);
}
catch (IOException e)
{
e.printStackTrace();
vStruct = null;
}
finally
{
return vStruct;
}
} private static final char FIELD_SEPARATE = ';';
private static final String RECORD_SEPARATE = "\r\n";
}
{
private String column_1 = "";
private String column_2 = "";
private String column_3 = "";
private String column_4 = ""; public String getColumn_1()
{
return column_1;
} public String getColumn_2()
{
return column_2;
} public String getColumn_3()
{
return column_3;
} public String getColumn_4()
{
return column_4;
} public void setColumn_1(String string)
{
column_1 = string;
} public void setColumn_2(String string)
{
column_2 = string;
} public void setColumn_3(String string)
{
column_3 = string;
} public void setColumn_4(String string)
{
column_4 = string;
}
}
写入数据库的部分需自己改动。
StringTokenizer st=new StringTokenizer(string,"\t");
while(st.hasMoreTokens){
st.nextToken();
......
}