java分流读取数据库里的数据到txt,避免数据量太大读不了报内存溢出的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java分流读取数据库里的数据到txt,避免数据量太大读不了报内存溢出的错误相关的知识,希望对你有一定的参考价值。

参考技术A 2个要点要分清楚,是数据库报错,还是JAVA程序。2种对应不同方法。
拿ORACLE来说。判断是数据库报错,可以让DBA调整数据库参数或者调整JDBC参数。
假设是JAVA程序溢出。首先要注意不要一次读取所有记录存到变量中再写入到TXT。
最好根据ORACLE ROWID分页,一次读取100行或者500行再写入。
参考技术B //首先判断point是否在curPt和nextPt之间,即:此判断该点是否在该线段的外包矩形内
if (point.lng >= Math.min(curPt.lng, nextPt.lng) && point.lng <= Math.max(curPt.lng, nextPt.lng) &&
point.lat >= Math.min(curPt.lat, nextPt.lat) && point.lat <= Math.max(curPt.lat, nextPt.lat))
//判断点是否在直线上公式
var precision = (curPt.lng - point.lng) * (nextPt.lat - point.lat) -
(nextPt.lng - point.lng) * (curPt.lat - point.lat);
if(precision < 2e-10 && precision > -2e-10)//实质判断是否接近0
return true;


参考技术C 按照抽取的表每条数据的固定数据大小来预算出需要的内存并修改启动参数,
如果服务器硬件性能有限,那么只能根据条数分次查询拆分文件了。
参考技术D 写个byte[]数组,做缓冲区,然后嵌套IO流。 第5个回答  2016-01-03 只有不全部读进,部分读、处理完、再读另外的。追问

这种方式可以避免因为数据量大而不能一次性读完的情况吧?,有具体代码么?

java中从txt文件读取数据以及写数据到txt文件

package com.baorant;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class FileUtil {

    /*
     * 测试用主函数
     */
    public static void main(String[] args) throws Exception {
        // File file = new File("test.txt");//数组写到文件中
        // int[] datas = {1,2,3,4,5};
        //
        // intDataToFileOut(datas, file);

        // 读取csv文件存到txt文件中
        // int[] recordsTotal;
        //
        // File csv = new File("csv//1203.csv"); // CSV文件路径
        // int[] records0 = GetExcelData.returnFinalArray(csv);
        // File csv1 = new File("csv//1204.csv"); // CSV文件路径
        // int[] records1 = GetExcelData.returnFinalArray(csv1);
        // File csv2 = new File("csv//1205.csv"); // CSV文件路径
        // int[] records2 = GetExcelData.returnFinalArray(csv2);
        // File csv3 = new File("csv//1206.csv"); // CSV文件路径
        // int[] records3 = GetExcelData.returnFinalArray(csv3);
        // File csv4 = new File("csv//1207.csv"); // CSV文件路径
        // int[] records4 = GetExcelData.returnFinalArray(csv4);
        // File csv5 = new File("csv//1208.csv"); // CSV文件路径
        // int[] records5 = GetExcelData.returnFinalArray(csv5);
        // File csv6 = new File("csv//1209.csv"); // CSV文件路径
        // int[] records6 = GetExcelData.returnFinalArray(csv6);
        //
        // recordsTotal = combine_two_intdata(records0,records1);
        // recordsTotal = combine_two_intdata(recordsTotal,records2);
        // recordsTotal = combine_two_intdata(recordsTotal,records3);
        // recordsTotal = combine_two_intdata(recordsTotal,records4);
        // recordsTotal = combine_two_intdata(recordsTotal,records5);
        //
        // for(int i = 0; i < recordsTotal.length; i++){
        // System.out.print(recordsTotal[i] + " ");
        // }
        //
        // File file = new File("trainData.txt");//数组写到文件中
        // intDataToFileOut(recordsTotal, file);
        //
        // File file1 = new File("testData.txt");//数组写到文件中
        // intDataToFileOut(records6, file1);

        //读取file中数据存到数组中
        System.out.println("获取训练数据:");
        String pathname1 = "trainData.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
        File file = new File(pathname1); // 要读取以上路径的input。txt文件
        intFileTOData(1729, file);
        //读取file中数据存到数组中
        System.out.println("获取测试数据:");
        String pathname2 = "trainData.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
        File file2 = new File(pathname2); // 要读取以上路径的input。txt文件
        intFileTOData(1729, file2);

    }

    /*
     * 读取txt中数据存到数组中
     */
    public static int[] intFileTOData(int length, File file) throws Exception {
        /* 读入TXT文件 */
        // String pathname = "trainData.txt"; //
        // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
        // File filename = new File(pathname); // 要读取以上路径的input。txt文件
        InputStreamReader reader = new InputStreamReader(new FileInputStream(file)); // 建立一个输入流对象reader
        BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
        String line = "";
        line = br.readLine();
        int[] datas = new int[1729];
        int i = 0;
        while (line != null) {
            line = br.readLine(); // 一次读入一行数据
            System.out.println(line);
            if (null != line) {
                int tem = Integer.valueOf(line.trim());
                datas[i++] = tem;
            }
        }
        for (int j = 0; j < datas.length; j++) {
            System.out.println(datas[j] + " ");
        }
        return datas;
    }

    /*
     * 数组写到txt文件中
     */
    public static void intDataToFileOut(int[] datas, File file) throws Exception {

        FileWriter out = new FileWriter(file);
        for (int i = 0; i < datas.length; i++) {
            String content = datas[i] + "";
            out.write(content + "	");
            out.write("
");
        }
        out.close();
    }

    /*
     * 连接2个整形数组,得到1个整形数组
     */
    public static int[] combine_two_intdata(int a[], int b[]) {

        ArrayList<Integer> alist = new ArrayList<Integer>(a.length + b.length);

        for (int j = 0; j < a.length; j++) {
            alist.add(a[j]);
        }

        for (int k = 0; k < b.length; k++) {
            alist.add(b[k]);
        }

        int c[] = new int[alist.size()];

        for (int i = 0; i < alist.size(); i++) {
            c[i] = alist.get(i);
        }
        return c;
    }
}

数据格式:

trainData.txt:

802	
1095	
1075	
961	
1115	
919	
973	
814	
791	
728	
777	
817	
730	
794	
723	
649	
612	
637	
582	
586	
486	
516	
513	
443	
377	
409	
394	
441	
455	
412	
390	
411	
337	
290	
334	
321	
315	
312	
369	
292	
257	
309	
366	
327	
288	
361	
301	
309	
365	
364	
325	
393	
402	
336	
404	
423	
471	
430	
533	
425	
445	
489	
523	
698	
736	
756	
729	
752	
814	
846	
932	
942	
1180	
1243	
1038	
1167	
1386	
1492	
1670	
1835	
1935	
2007	
2250	
2365	
2688	
2922	
3057	
3061	
3366	
3439	
4049	
4160	
4576	
4622	
4529	
4288	
4295	
4465	
4370	
4537	
4672	
4712	
4754	
4646	
4772	
5189	
5269	
4712	
5052	
4957	
4916	
4866	
5232	
4898	
5140	
5184	
5515	
5445	
5512	
5015	
5154	
5611	
5548	
5224	
4903	
5395	
5646	
5700	
5660	
5783	
5603	
5635	
5586	
5779	
5850	
5455	
5960	
5067	
5586	
5563	
5283	
5259	
4838	
4547	
4345	
4246	
4505	
4109	
4316	
4447	
4230	
4439	
4736	
4872	
4880	
4701	
5344	
5086	
5577	
5014	
5696	
5606	
5245	
5654	
6116	
5473	
6130	
5844	
5783	
5008	
5367	
5014	
5490	
5036	
5120	
5451	
5073	
4889	
5078	
5262	
4937	
5189	
5051	
5210	
4959	
5045	
4959	
4945	
5096	
4852	
4698	
4964	
4712	
5104	
5221	
4744	
5499	
5341	
5305	
4997	
5808	
5493	
5560	
5524	
5618	
5780	
6540	
5979	
6194	
6105	
6270	
6151	
5757	
5734	
5468	
5070	
4542	
4335	
4488	
3967	
4332	
3633	
4096	
3856	
3643	
3593	
3482	
3762	
3484	
3415	
3306	
3203	
3392	
3172	
3288	
3718	
3555	
3665	
3485	
3532	
3339	
3228	
3454	
3247	
3267	
3472	
3174	
3267	
3148	
3024	
3144	
2819	
2701	
2592	
2523	
2311	
2321	
2187	
2095	
2257	
2294	
2221	
2219	
1816	
1908	
1814	
1716	
1648	
1516	
1558	
1952	
1955	
1626	
1616	
1347	
1430	
1391	
1158	
1346	
1247	
1078	
1014	
1065	
1061	
926	
953	
937	
695	
746	
993	
838	
817	
778	
733	
734	
689	
697	
692	
651	
557	
553	
531	
550	
568	
581	
524	
499	
545	
454	
454	
480	
398	
407	
430	
468	
483	
397	
359	
382	
298	
370	
318	
345	
329	
309	
293	
340	
317	
301	
276	
305	
285	
291	
315	
258	
310	
342	
356	
358	
350	
349	
342	
376	
364	
378	
424	
448	
477	
461	
464	
547	
548	
529	
679	
674	
693	
796	
807	
852	
1017	
1061	
1170	
1339	
1447	
1669	
2039	
2726	
3164	
4101	
4420	
4485	
4564	
4837	
4748	
4870	
4838	
5133	
5840	
6496	
7007	
7443	
7960	
7432	
7078	
6761	
6046	
5997	
5868	
5373	
5678	
5938	
5353	
5649	
5197	
5522	
5625	
5487	
5073	
5232	
4936	
5093	
4710	
4909	
5051	
5020	
5111	
4624	
4871	
4983	
5074	
4913	
4628	
4864	
4673	
4782	
4794	
4832	
4570	
4614	
4703	
4664	
4828	
5064	
5141	
4875	
5103	
5088	
4931	
5366	
5386	
4983	
4610	
4636	
4603	
4569	
4184	
4031	
4050	
3961	
3783	
3754	
3779	
3838	
3899	
3847	
4158	
4108	
4260	
4356	
4545	
5146	
5156	
5614	
5367	
5458	
5256	
4830	
4955	
5182	
5176	
5292	
5160	
5097	
5008	
4657	
4847	
4562	
4514	
4746	
4631	
4756	
4596	
4475	
4258	
4829	
4879	
4675	
4808	
4846	
4707	
4849	
5173	
4716	
4810	
5090	
5285	
5568	
5742	
5725	
5968	
5436	
6284	
5390	
6010	
7227	
6562	
5862	
5793	
6574	
6611	
5912	
6285	
5430	
4971	
5204	
4528	
4243	
4174	
3970	
3768	
3937	
3463	
3474	
3264	
3069	
3314	
3354	
3252	
3182	
3182	
3063	
3094	
3116	
3075	
3174	
3142	
3206	
2860	
3097	
3160	
3183	
2974	
3199	
2615	
3051	
2927	
2801	
2934	
2798	
2532	
2479	
2727	
2441	
2545	
2178	
2163	
2297	
2312	
2391	
2163	
2154	
2107	
1846	
1697	
1836	
1607	
1539	
1497	
2084	
1918	
1736	
1404	
1276	
1347	
1401	
1282	
1213	
1069	
977	
910	
923	
1020	
885	
819	
853	
638	
672	
825	
805	
859	
896	
852	
730	
668	
634	
744	
645	
671	
617	
586	
561	
615	
531	
494	
550	
534	
488	
465	
454	
487	
393	
434	
437	
418	
411	
356	
400	
346	
386	
340	
343	
344	
273	
330	
357	
299	
284	
294	
301	
324	
276	
303	
311	
319	
339	
341	
373	
377	
369	
358	
405	
369	
309	
316	
376	
447	
397	
494	
503	
476	
541	
627	
625	
651	
771	
783	
1000	
981	
1065	
1147	
1212	
1379	
1686	
1763	
2272	
3043	
3508	
4067	
4280	
4705	
4207	
4495	
4663	
4605	
4817	
5348	
6225	
6378	
6989	
7844	
7409	
6263	
6199	
5723	
5076	
5448	
5553	
5433	
5349	
5409	
5107	
4878	
5083	
4959	
4811	
5426	
5324	
4909	
4707	
4983	
4892	
4968	
4739	
4913	
4918	
4493	
4752	
4692	
5001	
4738	
5099	
4200	
4838	
4709	
5414	
4849	
4862	
4513	
4778	
4834	
4547	
4981	
4920	
5099	
5261	
5529	
5500	
5079	
4964	
5217	
4503	
4370	
4524	
4159	
4165	
3891	
3767	
3704	
3935	
4139	
3836	
3557	
4224	
4042	
4408	
4312	
4725	
4179	
4898	
5552	
4882	
5500	
5292	
4954	
4962	
4839	
5153	
5206	
5559	
5452	
5235	
4893	
4491	
4947	
5028	
4342	
4353	
4321	
4859	
4233	
4593	
4736	
4416	
4491	
4878	
4715	
4934	
4755	
5109	
4665	
5689	
4777	
5496	
5566	
5213	
5114	
5752	
5439	
5750	
5676	
5870	
6783	
6390	
7127	
7190	
7040	
6018	
6527	
6833	
6609	
5564	
4950	
4925	
4446	
4547	
4006	
4126	
3960	
3882	
3615	
3328	
3319	
3524	
3212	
3444	
3276	
3336	
3150	
3322	
3329	
3316	
3155	
3110	
3259	
3454	
3349	
3220	
3114	
3442	
3126	
3258	
2896	
3013	
2726	
3018	
2870	
2702	
2827	
2928	
2701	
2460	
2546	
2641	
2172	
2414	
2275	
2606	
2029	
1932	
1994	
1821	
1754	
1752	
1737	
1554	
1695	
2035	
1914	
1805	
1441	
1240	
1341	
1357	
1252	
1339	
1039	
1008	
1066	
993	
935	
954	
900	
870	
500	
703	
891	
902	
846	
774	
811	
854	
763	
729	
685	
704	
578	
651	
565	
604	
484	
467	
478	
493	
430	
466	
455	
459	
432	
354	
421	
408	
398	
405	
400	
368	
386	
351	
351	
351	
292	
294	
317	
339	
340	
318	
312	
315	
299	
321	
268	
329	
362	
389	
387	
355	
376	
424	
322	
384	
381	
405	
459	
431	
435	
446	
458	
471	
537	
567	
558	
661	
705	
776	
893	
886	
1034	
1100	
1238	
1226	
1482	
1468	
1776	
2429	
2962	
3944	
3905	
4064	
4589	
4331	
4598	
4673	
4785	
4790	
5154	
6425	
6718	
7237	
7407	
6758	
7129	
6956	
5863	
5714	
5519	
5852	
5242	
5956	
5442	
5188	
5305	
5247	
4741	
4540	
4900	
4825	
4702	
4522	
5107	
5164	
4704	
4749	
5049	
4783	
4699	
4689	
4720	
5023	
4440	
4483	
4561	
4259	
4490	
4209	
4550	
4740	
4920	
4808	
4509	
4745	
4945	
5258	
5365	
5119	
5149	
4742	
5392	
4823	
4952	
4953	
4375	
4516	
4037	
4179	
3840	
3782	
3458	
3903	
3906	
3906	
3976	
4176	
3524	
4303	
4391	
4409	
4569	
5109	
5242	
5319	
5025	
4823	
5675	
5019	
5112	
5376	
4881	
4765	
4864	
4441	
4956	
4442	
4732	
4080	
4754	
4598	
4873	
4458	
4472	
4628	
4430	
4342	
4234	
4580	
4704	
5357	
5187	
4990	
5402	
4885	
4961	
5328	
5095	
5215	
5154	
5791	
5276	
5448	
5642	
5767	
6143	
7010	
6278	
6889	
6498	
6820	
5933	
6391	
6367	
5274	
4495	
4918	
4896	
4526	
4283	
4117	
3768	
3567	
3597	
3329	
3549	
3608	
3249	
3401	
3187	
2979	
3280	
3128	
3329	
3245	
3235	
3348	
2981	
3340	
3205	
3296	
3028	
3066	
2890	
3123	
3165	
2989	
3294	
2896	
2786	
2738	
2641	
2951	
2767	
2653	
2695	
2438	
2301	
2441	
2446	
2464	
2504	
2292	
2076	
1770	
1931	
1893	
1794	
1723	
1647	
2133	
1967	
1721	
1372	
1239	
1298	
1395	
1260	
1183	
1098	
931	
882	
947	
901	
929	
964	
822	
593	
705	
923	
895	
805	
805	
751	
707	
783	
805	
753	
581	
660	
573	
614	
570	
584	
583	
546	
527	
486	
418	
384	
407	
394	
372	
398	
380	
360	
356	
395	
350	
352	
321	
297	
271	
323	
353	
361	
261	
273	
254	
270	
314	
326	
327	
296	
312	
338	
348	
317	
340	
342	
349	
314	
345	
334	
328	
342	
303	
396	
401	
479	
516	
426	
510	
505	
623	
595	
718	
831	
775	
969	
958	
1214	
1212	
1295	
1552	
1967	
2509	
2955	
3410	
3821	
4438	
4195	
4421	
4303	
4307	
4749	
4640	
5452	
6550	
6297	
6927	
6862	
7736	
6574	
6415	
6159	
6275	
5751	
5469	
4714	
5207	
5478	
5177	
5078	
4952	
4982	
4668	
5113	
5113	
5015	
4767	
4504	
4600	
4626	
4784	
4653	
4709	
4846	
4890	
4893	
4228	
4721	
4726	
4975	
4830	
4725	
4479	
4529	
4667	
4722	
4280	
5021	
4835	
5026	
4174	
5281	
5000	
5341	
5713	
5102	
5178	
4756	
4570	
4629	
4626	
4166	
3914	
4011	
4222	
3993	
4009	
3824	
4071	
3947	
3745	
4141	
4612	
4131	
4444	
4929	
5151	
5518	
5213	
5128	
5511	
5508	
4778	
5182	
5305	
5143	
5523	
5361	
5221	
4519	
4718	
4724	
4755	
4416	
4650	
4819	
4733	
4492	
4639	
4337	
4488	
4374	
4709	
4662	
4858	
5165	
4369	
5168	
5323	
5351	
5152	
5242	
5627	
5688	
5675	
5132	
6053	
5562	
6628	
6687	
6986	
6724	
6984	
6676	
6974	
6263	
5801	
6101	
5419	
5265	
4557	
4354	
4116	
4222	
4166	
3810	
3978	
3416	
3647	
3470	
3625	
3342	
3070	
3093	
3102	
2960	
3102	
3152	
3237	
3246	
3065	
3141	
3038	
3126	
3586	
3166	
3129	
3121	
3199	
3307	
2881	
2554	
2811	
2758	
2543	
2627	
2703	
2744	
2701	
2325	
2609	
2052	
2130	
2343	
2354	
2170	
2311	
2129	
1775	
1799	
1916	
1707	
1606	
1742	
2190	
1830	
1788	
1413	
1444	
1280	
1335	
1280	
1265	
1157	
1057	
921	
893	
1021	
935	
934	
833	
624	
1	
0	
0	
0	
0	
0	
0	
0	
0	
227	
701	
699	
529	
577	
565	
601	
570	
534	
490	
482	
491	
460	
492	
456	
450	
465	
454	
442	
411	
399	
356	
305	
291	
301	
326	
340	
268	
281	
323	
282	
274	
226	
247	
242	
267	
316	
277	
296	
280	
321	
274	
297	
319	
333	
344	
324	
347	
370	
374	
363	
402	
470	
456	
505	
404	
566	
607	
609	
669	
700	
844	
935	
934	
1080	
1039	
1296	
1516	
1735	
2233	
3139	
3823	
4284	
4182	
4501	
4350	
4236	
4409	
4708	
5361	
5411	
6280	
6681	
7324	
7587	
7508	
7290	
6317	
6500	
6116	
6082	
5782	
5784	
5540	
5553	
5510	
5435	
5312	
5279	
5043	
4882	
5183	
5077	
5284	
5323	
4322	
1788	
0	
0	
5	
2648	
313	
0	
606	
4646	
4832	
4635	
4768	
4780	
4584	
4799	
4890	
4756	
4733	
5395	
4660	
4886	
5226	
5172	
5330	
4964	
5317	
5065	
5352	
4896	
4748	
4752	
4664	
4339	
4213	
4398	
4020	
3948	
3686	
3652	
4216	
4296	
3943	
4234	
4525	
4567	
4813	
4734	
5244	
5419	
5534	
5794	
5192	
5442	
5298	
5077	
5376	
5290	
5927	
5199	
5058	
5165	
4722	
4622	
4838	
4711	
4620	
4818	
5038	
4389	
4946	
4737	
4417	
4349	
4978	
4892	
5088	
5039	
5123	
5325	
5684	
5426	
5753	
5487	
5814	
5719	
6129	
5730	
5919	
6166	
6485	
6519	
6270	
6328	
6347	
6393	
6400	
6494	
6663	
6282	
5623	
5758	
5173	
4935	
4632	
4953	
4681	
4184	
4123	
3988	
3864	
3622	
3619	
3542	
3295	
3354	
3647	
3342	
3527	
3185	
3209	
3258	
3192	
3412	
3406	
3623	
3354	
3217	
3220	
3335	
3324	
3259	
3217	
3340	
3213	
3285	
3159	
3023	
2951	
2862	
2990	
2856	
2585	
2400	
2518	
2415	
2477	
2438	
2523	
2382	
2043	
1968	
2117	
1941	
1757	
1792	
2025	
2141	
1993	
1752	
1533	
1467	
1471	
1377	
1377	
1345	
1250	
1159	
1154	
1057	
1056	
1066	
1001	
1030	

  

package com.baorant;
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.InputStreamReader;import java.util.ArrayList;
public class FileUtil {
/* * 测试用主函数 */public static void main(String[] args) throws Exception {// File file = new File("test.txt");//数组写到文件中// int[] datas = {1,2,3,4,5};//// intDataToFileOut(datas, file);
// 读取csv文件存到txt文件中// int[] recordsTotal;//// File csv = new File("csv//1203.csv"); // CSV文件路径// int[] records0 = GetExcelData.returnFinalArray(csv);// File csv1 = new File("csv//1204.csv"); // CSV文件路径// int[] records1 = GetExcelData.returnFinalArray(csv1);// File csv2 = new File("csv//1205.csv"); // CSV文件路径// int[] records2 = GetExcelData.returnFinalArray(csv2);// File csv3 = new File("csv//1206.csv"); // CSV文件路径// int[] records3 = GetExcelData.returnFinalArray(csv3);// File csv4 = new File("csv//1207.csv"); // CSV文件路径// int[] records4 = GetExcelData.returnFinalArray(csv4);// File csv5 = new File("csv//1208.csv"); // CSV文件路径// int[] records5 = GetExcelData.returnFinalArray(csv5);// File csv6 = new File("csv//1209.csv"); // CSV文件路径// int[] records6 = GetExcelData.returnFinalArray(csv6);//// recordsTotal = combine_two_intdata(records0,records1);// recordsTotal = combine_two_intdata(recordsTotal,records2);// recordsTotal = combine_two_intdata(recordsTotal,records3);// recordsTotal = combine_two_intdata(recordsTotal,records4);// recordsTotal = combine_two_intdata(recordsTotal,records5);//// for(int i = 0; i < recordsTotal.length; i++){// System.out.print(recordsTotal[i] + " ");// }//// File file = new File("trainData.txt");//数组写到文件中// intDataToFileOut(recordsTotal, file);//// File file1 = new File("testData.txt");//数组写到文件中// intDataToFileOut(records6, file1);
//读取file中数据存到数组中System.out.println("获取训练数据:");String pathname1 = "trainData.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径File file = new File(pathname1); // 要读取以上路径的input。txt文件intFileTOData(1729, file);//读取file中数据存到数组中System.out.println("获取测试数据:");String pathname2 = "trainData.txt"; // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径File file2 = new File(pathname2); // 要读取以上路径的input。txt文件intFileTOData(1729, file2);
}
/* * 读取txt中数据存到数组中 */public static int[] intFileTOData(int length, File file) throws Exception {/* 读入TXT文件 */// String pathname = "trainData.txt"; //// 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径// File filename = new File(pathname); // 要读取以上路径的input。txt文件InputStreamReader reader = new InputStreamReader(new FileInputStream(file)); // 建立一个输入流对象readerBufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言String line = "";line = br.readLine();int[] datas = new int[1729];int i = 0;while (line != null) {line = br.readLine(); // 一次读入一行数据System.out.println(line);if (null != line) {int tem = Integer.valueOf(line.trim());datas[i++] = tem;}}for (int j = 0; j < datas.length; j++) {System.out.println(datas[j] + " ");}return datas;}
/* * 数组写到txt文件中 */public static void intDataToFileOut(int[] datas, File file) throws Exception {
FileWriter out = new FileWriter(file);for (int i = 0; i < datas.length; i++) {String content = datas[i] + "";out.write(content + " ");out.write(" ");}out.close();}
/* * 连接2个整形数组,得到1个整形数组 */public static int[] combine_two_intdata(int a[], int b[]) {
ArrayList<Integer> alist = new ArrayList<Integer>(a.length + b.length);
for (int j = 0; j < a.length; j++) {alist.add(a[j]);}
for (int k = 0; k < b.length; k++) {alist.add(b[k]);}
int c[] = new int[alist.size()];
for (int i = 0; i < alist.size(); i++) {c[i] = alist.get(i);}return c;}}
















以上是关于java分流读取数据库里的数据到txt,避免数据量太大读不了报内存溢出的错误的主要内容,如果未能解决你的问题,请参考以下文章

JAVA读取文件 排序 写出文件

JAVA读取文件夹里的文件目录到TXT

请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来

java io怎么读取文件并输出到控制台上?

java中从txt文件读取数据以及写数据到txt文件

如何处理高并发量的HTTP请求