以下是我的代碼來閱讀和拆分文本文件的內容。如何將大尺寸的.txt文件數據拆分成小部分並插入到數據庫中?
try {
br = new BufferedReader(new FileReader("F:\\Test.txt"));
final char[] cbuf = new char[2048];
final int length = br.read(cbuf);
cbuf[length] = '@';
String packet = new String(cbuf, 0, length + 1);
final String[] splitedPacket=packet.split("@");
for(int i=0;i<splitedPacket.length;i++)
{
if(splitedPacket[i].contains("POS"))
{
System.out.println(splitedPacket[i]+"@");
preparedstatement=connection.prepareStatement("insert into inserttextfile([file]) values(?)");
preparedstatement.setString(1, splitedPacket[i]+"@");
preparedstatement.executeUpdate();
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
這是工作的罰款在我的小尺寸.txt文件,但如果我使用超過30 MB的文本文件,我得到數組索引出界異常。
那麼如何拆分和讀取這種.txt文件並插入數據庫? (特別期待拆分大尺寸文件(例如,從30 MB到5 MB)並插入到數據庫中) 請指導我解決此問題。
1.you不讀取整個文件讀取文件http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#read()。不要嘗試一次讀取所有文件內容。讀入循環並插入到數據庫中。使用掃描儀根據分隔符進行閱讀。 – Mani
記事本文件?你的意思是文本文件? – m0skit0
@ m0skit0是.txt文件。 – Rameshbabu